Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SQL errors in live replication #154

Open
ThrivingToks opened this issue Jul 29, 2024 · 2 comments
Open

SQL errors in live replication #154

ThrivingToks opened this issue Jul 29, 2024 · 2 comments

Comments

@ThrivingToks
Copy link

ThrivingToks commented Jul 29, 2024

So i attempting to run a replication from one elasticache cluster on redis v4 to another on redis v7 with riot v3.2.3

./riot -u redis://sourcecluster.cache.amazonaws.com:6379 replicate -u redis://targetcluster.cache.amazonaws.com:6379 --mode COMPARE --type --compare QUICK -d

I get this

java.sql.SQLSyntaxErrorException: object name already exists: BATCH_JOB_INSTANCE in statement [CREATE TABLE BATCH_JOB_INSTANCE ( JOB_INSTANCE_ID BIGINT IDENTITY NOT NULL PRIMARY KEY , VERSION BIGINT , JOB_NAME VARCHAR(100) NOT NULL, JOB_KEY VARCHAR(32) NOT NULL, constraint JOB_INST_UN unique (JOB_NAME, JOB_KEY) ) ]
	at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
	at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
	at org.hsqldb.jdbc.JDBCStatement.fetchResult(Unknown Source)
	at org.hsqldb.jdbc.JDBCStatement.execute(Unknown Source)
	at org.springframework.jdbc.datasource.init.ScriptUtils.executeSqlScript(ScriptUtils.java:261)
	at org.springframework.jdbc.datasource.init.ResourceDatabasePopulator.populate(ResourceDatabasePopulator.java:254)
	at org.springframework.jdbc.datasource.init.DatabasePopulatorUtils.execute(DatabasePopulatorUtils.java:54)
	at org.springframework.boot.jdbc.init.DataSourceScriptDatabaseInitializer.runScripts(DataSourceScriptDatabaseInitializer.java:87)
	at org.springframework.boot.sql.init.AbstractScriptDatabaseInitializer.runScripts(AbstractScriptDatabaseInitializer.java:146)
	at org.springframework.boot.sql.init.AbstractScriptDatabaseInitializer.applyScripts(AbstractScriptDatabaseInitializer.java:108)
	at org.springframework.boot.sql.init.AbstractScriptDatabaseInitializer.applySchemaScripts(AbstractScriptDatabaseInitializer.java:98)
	at org.springframework.boot.sql.init.AbstractScriptDatabaseInitializer.initializeDatabase(AbstractScriptDatabaseInitializer.java:76)
	at com.redis.spring.batch.common.JobFactory.dataSource(JobFactory.java:79)
	at com.redis.spring.batch.common.JobFactory.jobRepository(JobFactory.java:65)
	at com.redis.spring.batch.common.JobFactory.afterPropertiesSet(JobFactory.java:48)
	at com.redis.riot.core.AbstractRiotCallable.afterPropertiesSet(AbstractRiotCallable.java:79)
	at com.redis.riot.core.AbstractRedisCallable.afterPropertiesSet(AbstractRedisCallable.java:37)
	at com.redis.riot.redis.Replication.afterPropertiesSet(Replication.java:89)
	at com.redis.riot.cli.AbstractRiotCommand.call(AbstractRiotCommand.java:104)
	at com.redis.riot.cli.AbstractExportCommand.call(AbstractExportCommand.java:15)
	at com.redis.riot.cli.AbstractRiotCommand.call(AbstractRiotCommand.java:28)
	at picocli.CommandLine.executeUserObject(CommandLine.java:2041)
	at picocli.CommandLine.access$1500(CommandLine.java:148)
	at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2415)
	at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)
	at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)
	at com.redis.riot.cli.AbstractMainCommand.executionStrategy(AbstractMainCommand.java:83)
	at com.redis.riot.cli.CompositeExecutionStrategy.execute(CompositeExecutionStrategy.java:28)
	at picocli.CommandLine.execute(CommandLine.java:2170)
	at com.redis.riot.cli.AbstractMainCommand.execute(AbstractMainCommand.java:66)
	at com.redis.riot.cli.AbstractMainCommand.run(AbstractMainCommand.java:42)
	at com.redis.riot.cli.Main.main(Main.java:9)
Caused by: org.hsqldb.HsqlException: object name already exists: BATCH_JOB_INSTANCE
	at org.hsqldb.error.Error.error(Unknown Source)
	at org.hsqldb.error.Error.error(Unknown Source)
	at org.hsqldb.SchemaObjectSet.checkAdd(Unknown Source)
	at org.hsqldb.SchemaManager.checkSchemaObjectNotExists(Unknown Source)
	at org.hsqldb.StatementSchema.setOrCheckObjectName(Unknown Source)
	at org.hsqldb.StatementSchema.getResult(Unknown Source)
	at org.hsqldb.StatementSchema.execute(Unknown Source)
	at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
	at org.hsqldb.Session.executeDirectStatement(Unknown Source)
	at org.hsqldb.Session.execute(Unknown Source)
	... 32 more

I stumped. Validated security groups. Doing this from my local machine

@ThrivingToks ThrivingToks changed the title Elasticache connection issue despite seamless redis-cli connection SQL errors in live replication Jul 31, 2024
@jruaux
Copy link
Collaborator

jruaux commented Sep 15, 2024

Does this happen with RIOT 4.x?

@AndreiPetrusMihai
Copy link

Hello. Yes, I'm running into the same issue for RIOT 4.1.9, but for the file-import command. I'm also trying to import the data into an AWS Elasticache instance, which runs Redis 6.2.6.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants