View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002549 | SymmetricDS | Bug | public | 2016-04-06 07:31 | 2019-05-18 13:06 |
Reporter | gilles.riand | Assigned To | |||
Priority | normal | ||||
Status | confirmed | Resolution | open | ||
Product Version | 3.7.31 | ||||
Summary | 0002549: Interbase Installation "key size too big" | ||||
Description | Hi, Impossible to install Symmetric-pro-3.7.31 due to a too large Key VARCHAR(512). With a older version like 3.7.10 ==> "SYM_CHANNEL", Field CHANNEL_ID was only VARCHAR(128) ! | ||||
Steps To Reproduce | Install SymmetricDS with a INTERBASE DATABASE. Error on creating "SYM_CHANNEL_" ==> "CHANNEL_ID" VARCHAR(512) is too big for a primarykey. | ||||
Additional Information | 2016-04-06 08:53:49,601 INFO [server] [InterbaseSymmetricDialect] [qtp1164970305-26] Checking if SymmetricDS tables need created or altered 2016-04-06 08:53:50,152 INFO [server] [InterbaseSymmetricDialect] [qtp1164970305-26] There are SymmetricDS tables that needed altered 2016-04-06 08:53:50,157 INFO [server] [InterbaseSymmetricDialect] [qtp1164970305-26] DDL failed: DROP TABLE "SYM_CHANNEL_" 2016-04-06 08:53:50,197 WARN [server] [InterbaseSymmetricDialect] [qtp1164970305-26] DDL failed: CREATE TABLE "SYM_CHANNEL_"( "CHANNEL_ID" VARCHAR(512) NOT NULL, "PROCESSING_ORDER" INTEGER DEFAULT 1 NOT NULL, "MAX_BATCH_SIZE" INTEGER DEFAULT 1000 NOT NULL, "MAX_BATCH_TO_SEND" INTEGER DEFAULT 60 NOT NULL, "MAX_DATA_TO_ROUTE" INTEGER DEFAULT 100000 NOT NULL, "EXTRACT_PERIOD_MILLIS" INTEGER DEFAULT 0 NOT NULL, "ENABLED" SMALLINT DEFAULT 1 NOT NULL, "USE_OLD_DATA_TO_ROUTE" SMALLINT DEFAULT 1 NOT NULL, "USE_ROW_DATA_TO_ROUTE" SMALLINT DEFAULT 1 NOT NULL, "USE_PK_DATA_TO_ROUTE" SMALLINT DEFAULT 1 NOT NULL, "RELOAD_FLAG" SMALLINT DEFAULT 0 NOT NULL, "FILE_SYNC_FLAG" SMALLINT DEFAULT 0 NOT NULL, "CONTAINS_BIG_LOB" SMALLINT DEFAULT 0 NOT NULL, "BATCH_ALGORITHM" VARCHAR(200) DEFAULT 'default' NOT NULL, "DATA_LOADER_TYPE" VARCHAR(200) DEFAULT 'default' NOT NULL, "DESCRIPTION" VARCHAR(1020), "CREATE_TIME" TIMESTAMP, "LAST_UPDATE_BY" VARCHAR(200), "LAST_UPDATE_TIME" TIMESTAMP, PRIMARY KEY ("CHANNEL_ID") ) 2016-04-06 08:53:50,198 WARN [server] [JdbcSqlTemplate] [qtp1164970305-26] [interclient][interbase]unsuccessful metadata update [interclient][interbase]key size too big for index RDB$PRIMARY71. Failed to execute: CREATE TABLE "SYM_CHANNEL_"( "CHANNEL_ID" VARCHAR(512) NOT NULL, "PROCESSING_ORDER" INTEGER DEFAULT 1 NOT NULL, "MAX_BATCH_SIZE" INTEGER DEFAULT 1000 NOT NULL, "MAX_BATCH_TO_SEND" INTEGER DEFAULT 60 NOT NULL, "MAX_DATA_TO_ROUTE" INTEGER DEFAULT 100000 NOT NULL, "EXTRACT_PERIOD_MILLIS" INTEGER DEFAULT 0 NOT NULL, "ENABLED" SMALLINT DEFAULT 1 NOT NULL, "USE_OLD_DATA_TO_ROUTE" SMALLINT DEFAULT 1 NOT NULL, "USE_ROW_DATA_TO_ROUTE" SMALLINT DEFAULT 1 NOT NULL, "USE_PK_DATA_TO_ROUTE" SMALLINT DEFAULT 1 NOT NULL, "RELOAD_FLAG" SMALLINT DEFAULT 0 NOT NULL, "FILE_SYNC_FLAG" SMALLINT DEFAULT 0 NOT NULL, "CONTAINS_BIG_LOB" SMALLINT DEFAULT 0 NOT NULL, "BATCH_ALGORITHM" VARCHAR(200) DEFAULT 'default' NOT NULL, "DATA_LOADER_TYPE" VARCHAR(200) DEFAULT 'default' NOT NULL, "DESCRIPTION" VARCHAR(1020), "CREATE_TIME" TIMESTAMP, "LAST_UPDATE_BY" VARCHAR(200), "LAST_UPDATE_TIME" TIMESTAMP, PRIMARY KEY ("CHANNEL_ID") ) 2016-04-06 08:53:50,199 ERROR [server] [AbstractSymmetricEngine] [qtp1164970305-26] An error occurred while starting SymmetricDS org.jumpmind.db.sql.SqlException: [interclient][interbase]unsuccessful metadata update [interclient][interbase]key size too big for index RDB$PRIMARY71 at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:288) at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:279) at org.jumpmind.db.sql.JdbcSqlTemplate.execute(JdbcSqlTemplate.java:442) at org.jumpmind.db.sql.JdbcSqlTemplate.update(JdbcSqlTemplate.java:353) at org.jumpmind.db.sql.SqlScript.execute(SqlScript.java:107) at org.jumpmind.symmetric.db.AbstractSymmetricDialect.createOrAlterTablesIfNecessary(AbstractSymmetricDialect.java:456) at org.jumpmind.symmetric.db.AbstractSymmetricDialect.initTablesAndDatabaseObjects(AbstractSymmetricDialect.java:151) at org.jumpmind.symmetric.AbstractSymmetricEngine.setupDatabase(AbstractSymmetricEngine.java:405) at org.jumpmind.symmetric.AbstractSymmetricEngine.setup(AbstractSymmetricEngine.java:396) at org.jumpmind.symmetric.AbstractSymmetricEngine.start(AbstractSymmetricEngine.java:535) at org.jumpmind.symmetric.AbstractSymmetricEngine.start(AbstractSymmetricEngine.java:527) at org.jumpmind.symmetric.ClientSymmetricEngine.start(ClientSymmetricEngine.java:237) at org.jumpmind.symmetric.web.SymmetricEngineHolder.install(SymmetricEngineHolder.java:359) at com.jumpmind.symmetric.console.ui.a.b.a.s(AbstractWizardScreen.java:147) at com.jumpmind.symmetric.console.ui.a.b.o.q(SummaryScreen.java:22) at com.jumpmind.symmetric.console.ui.a.b.k$6.buttonClick(NodeSetupWizard.java:173) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:508) at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:198) at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:161) at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:979) at com.vaadin.ui.Button.fireClick(Button.java:393) at com.vaadin.ui.Button$1.click(Button.java:57) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:168) at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:118) at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:287) at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:180) at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:93) at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41) at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1406) at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:305) at com.jumpmind.symmetric.console.ui.AppServlet.service(AppServlet.java:36) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:499) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) at java.lang.Thread.run(Unknown Source) Caused by: java.sql.SQLException: [interclient][interbase]unsuccessful metadata update [interclient][interbase]key size too big for index RDB$PRIMARY71 at interbase.interclient.Statement.remote_EXECUTE_STATEMENT(Unknown Source) | ||||
Tags | dialect: interbase, install | ||||
|
I think that it's not possible to use SymmetricDS with an interbase DATABASE in UTF8 |
|
I think MySQL has the same problem with "key too long" when using UTF-8. (See issue 2044.) |
|
Hello I'm in interbase XE Patch 5, My database is in UFT8 and the pagesize = 16384 (it's the max) Now I progress a little. But I've still errors .... 2016-04-07 14:37:50,841 INFO [server] [InterbaseSymmetricDialect] [qtp170053310-15] DDL applied: CREATE INDEX "SYM_IDX_IB_IN_ERROR" ON "SYM_INCOMING_BATCH" ("ERROR_FLAG") 2016-04-07 14:37:50,851 WARN [server] [InterbaseSymmetricDialect] [qtp170053310-15] DDL failed: CREATE TABLE "SYM_INCOMING_ERROR"( "BATCH_ID" NUMERIC(18,0) NOT NULL, "NODE_ID" VARCHAR(50) NOT NULL, "FAILED_ROW_NUMBER" NUMERIC(18,0) NOT NULL, "FAILED_LINE_NUMBER" NUMERIC(18,0) DEFAULT 0 NOT NULL, "TARGET_CATALOG_NAME" VARCHAR(255), "TARGET_SCHEMA_NAME" VARCHAR(255), "TARGET_TABLE_NAME" VARCHAR(255) NOT NULL, "EVENT_TYPE" CHAR(1) NOT NULL, "BINARY_ENCODING" VARCHAR(10) DEFAULT 'HEX' NOT NULL, "COLUMN_NAMES" VARCHAR(4096) NOT NULL, "PK_COLUMN_NAMES" VARCHAR(4096) NOT NULL, "ROW_DATA" VARCHAR(4096), "OLD_DATA" VARCHAR(4096), "CUR_DATA" VARCHAR(4096), "RESOLVE_DATA" VARCHAR(4096), "RESOLVE_IGNORE" SMALLINT DEFAULT 0, "CONFLICT_ID" VARCHAR(50), "CREATE_TIME" TIMESTAMP, "LAST_UPDATE_BY" VARCHAR(50), "LAST_UPDATE_TIME" TIMESTAMP NOT NULL, PRIMARY KEY ("BATCH_ID", "NODE_ID", "FAILED_ROW_NUMBER") ) 2016-04-07 14:37:50,852 WARN [server] [JdbcSqlTemplate] [qtp170053310-15] interbase.interclient.IBException: [interclient][interbase]unsuccessful metadata update [interclient][interbase]new record size of 68888 bytes is too big [interclient][interbase]TABLE SYM_INCOMING_ERROR. Failed to execute: CREATE TABLE "SYM_INCOMING_ERROR"( "BATCH_ID" NUMERIC(18,0) NOT NULL, "NODE_ID" VARCHAR(50) NOT NULL, "FAILED_ROW_NUMBER" NUMERIC(18,0) NOT NULL, "FAILED_LINE_NUMBER" NUMERIC(18,0) DEFAULT 0 NOT NULL, "TARGET_CATALOG_NAME" VARCHAR(255), "TARGET_SCHEMA_NAME" VARCHAR(255), "TARGET_TABLE_NAME" VARCHAR(255) NOT NULL, "EVENT_TYPE" CHAR(1) NOT NULL, "BINARY_ENCODING" VARCHAR(10) DEFAULT 'HEX' NOT NULL, "COLUMN_NAMES" VARCHAR(4096) NOT NULL, "PK_COLUMN_NAMES" VARCHAR(4096) NOT NULL, "ROW_DATA" VARCHAR(4096), "OLD_DATA" VARCHAR(4096), "CUR_DATA" VARCHAR(4096), "RESOLVE_DATA" VARCHAR(4096), "RESOLVE_IGNORE" SMALLINT DEFAULT 0, "CONFLICT_ID" VARCHAR(50), "CREATE_TIME" TIMESTAMP, "LAST_UPDATE_BY" VARCHAR(50), "LAST_UPDATE_TIME" TIMESTAMP NOT NULL, PRIMARY KEY ("BATCH_ID", "NODE_ID", "FAILED_ROW_NUMBER") ) 2016-04-07 14:37:50,854 ERROR [server] [AbstractSymmetricEngine] [qtp170053310-15] An error occurred while starting SymmetricDS org.jumpmind.db.sql.SqlException: interbase.interclient.IBException: [interclient][interbase]unsuccessful metadata update [interclient][interbase]new record size of 68888 bytes is too big |
|
I think ultimately, we need to reduce our column sizes for the PK columns to fix this problem. However, in the meantime, you can work around it by controlling the schema yourself. First, set the parameter auto.config.database=false in your engine properties file. That will prevent it from creating the tables on its own. Then, get the table create script that it would normally run: ./symadmin export-sym-tables > create.sql Edit the create.sql to adjust the PK columns to a smaller size. Run the script on your database to create the tables. Now you should be able to start SymmetricDS. |
Date Modified | Username | Field | Change |
---|---|---|---|
2016-04-06 07:31 | gilles.riand | New Issue | |
2016-04-07 11:23 | gilles.riand | Note Added: 0000775 | |
2016-04-07 12:17 | admin | Note Added: 0000776 | |
2016-04-07 12:17 | admin | Relationship added | related to 0002044 |
2016-04-07 12:41 | gilles.riand | Note Added: 0000777 | |
2016-04-07 12:46 | admin | Note Added: 0000778 | |
2019-04-29 12:59 | elong | Project | SymmetricDS Pro => SymmetricDS |
2019-04-29 12:59 | elong | Category | Installation => General |
2019-04-29 13:00 | elong | Tag Attached: dialect: interbase | |
2019-04-29 13:00 | elong | Tag Attached: install | |
2019-05-18 13:06 | elong | Status | new => confirmed |
2019-05-18 13:06 | elong | Category | General => Bug |