I run dynamodb local with the official latest docker image, shareddb (not in memory). I keep on getting errors like the ones below. That happens when using the official AWS Ruby DynamoDB Gem and calling the rake task aws_record:migrate to create tables. Looks like an internal error.
dynamodb | Feb 03, 2025 6:24:23 PM com.almworks.sqlite4java.Internal log
dynamodb | WARNING: [sqlite] [SELECT ObjectJSON FROM (SELECT ObjectJSON, indexKey_4, hashRangeValue FROM "myapp_development" WHERE indexKey_4 IS NOT NULL ) WHERE indexKey_4 = ? ORDER BY indexKey_4 ASC, hashRangeValue ASC LIMIT ?;]DB[2][C]: exception when clearing
dynamodb | com.almworks.sqlite4java.SQLiteException: [1] DB[2] reset [no such column: indexKey_4]
dynamodb | at com.almworks.sqlite4java.SQLiteConnection.throwResult(SQLiteConnection.java:1436)
dynamodb | at com.almworks.sqlite4java.SQLiteConnection.throwResult(SQLiteConnection.java:1409)
dynamodb | at com.almworks.sqlite4java.SQLiteConnection.cacheStatementHandle(SQLiteConnection.java:1338)
dynamodb | at com.almworks.sqlite4java.SQLiteConnection.access$900(SQLiteConnection.java:51)
dynamodb | at com.almworks.sqlite4java.SQLiteConnection$CachedController.dispose(SQLiteConnection.java:1733)
dynamodb | at com.almworks.sqlite4java.SQLiteStatement.dispose(SQLiteStatement.java:187)
dynamodb | at com.amazonaws.services.dynamodbv2.local.shared.access.sqlite.AmazonDynamoDBOfflineSQLiteJob.job(AmazonDynamoDBOfflineSQLiteJob.java:125)
dynamodb | at com.almworks.sqlite4java.SQLiteJob.execute(SQLiteJob.java:372)
dynamodb | at com.almworks.sqlite4java.SQLiteQueue.executeJob(SQLiteQueue.java:534)
dynamodb | at com.almworks.sqlite4java.SQLiteQueue.queueFunction(SQLiteQueue.java:667)
dynamodb | at com.almworks.sqlite4java.SQLiteQueue.runQueue(SQLiteQueue.java:623)
dynamodb | at com.almworks.sqlite4java.SQLiteQueue.access$000(SQLiteQueue.java:77)
dynamodb | at com.almworks.sqlite4java.SQLiteQueue$1.run(SQLiteQueue.java:205)
dynamodb | at java.base/java.lang.Thread.run(Thread.java:840)
dynamodb |
dynamodb | Feb 03, 2025 6:24:23 PM com.almworks.sqlite4java.Internal log
dynamodb | WARNING: [sqlite] SQLiteDBAccess$20@155c88ad: job exception
dynamodb | com.almworks.sqlite4java.SQLiteException: [1] DB[2] step() [SELECT ObjectJSON FROM (SELECT ObjectJSON, indexKey_4, hashRangeValue FROM "myapp_development" WHERE indexKey_4 IS NOT NULL ) WHERE indexKey_4 = ? ORDER BY indexKey_4 ASC, hashRangeValue ASC LIMIT ?;]DB[2][C] [no such column: indexKey_4]
dynamodb | at com.almworks.sqlite4java.SQLiteConnection.throwResult(SQLiteConnection.java:1436)
dynamodb | at com.almworks.sqlite4java.SQLiteConnection$BaseController.throwResult(SQLiteConnection.java:1689)
dynamodb | at com.almworks.sqlite4java.SQLiteStatement.stepResult(SQLiteStatement.java:1402)
dynamodb | at com.almworks.sqlite4java.SQLiteStatement.step(SQLiteStatement.java:301)
dynamodb | at com.amazonaws.services.dynamodbv2.local.shared.access.sqlite.SQLiteDBAccess$20.doWork(SQLiteDBAccess.java:2403)
dynamodb | at com.amazonaws.services.dynamodbv2.local.shared.access.sqlite.SQLiteDBAccess$20.doWork(SQLiteDBAccess.java:2041)
dynamodb | at com.amazonaws.services.dynamodbv2.local.shared.access.sqlite.AmazonDynamoDBOfflineSQLiteJob.job(AmazonDynamoDBOfflineSQLiteJob.java:117)
dynamodb | at com.almworks.sqlite4java.SQLiteJob.execute(SQLiteJob.java:372)
dynamodb | at com.almworks.sqlite4java.SQLiteQueue.executeJob(SQLiteQueue.java:534)
dynamodb | at com.almworks.sqlite4java.SQLiteQueue.queueFunction(SQLiteQueue.java:667)
dynamodb | at com.almworks.sqlite4java.SQLiteQueue.runQueue(SQLiteQueue.java:623)
dynamodb | at com.almworks.sqlite4java.SQLiteQueue.access$000(SQLiteQueue.java:77)
dynamodb | at com.almworks.sqlite4java.SQLiteQueue$1.run(SQLiteQueue.java:205)
dynamodb | at java.base/java.lang.Thread.run(Thread.java:840)
dynamodb |
dynamodb | Feb 03, 2025 6:24:23 PM com.almworks.sqlite4java.Internal log
dynamodb | WARNING: [sqlite] SQLiteDBAccess$20@46ebf98a: job exception
dynamodb | com.almworks.sqlite4java.SQLiteException: [1] DB[2] prepare() SELECT ObjectJSON FROM (SELECT ObjectJSON, indexKey_4, hashRangeValue FROM "myapp_development" WHERE indexKey_4 IS NOT NULL ) WHERE indexKey_4 = ? ORDER BY indexKey_4 ASC, hashRangeValue ASC LIMIT ?; [no such column: indexKey_4]
dynamodb | at com.almworks.sqlite4java.SQLiteConnection.throwResult(SQLiteConnection.java:1436)
dynamodb | at com.almworks.sqlite4java.SQLiteConnection.prepare(SQLiteConnection.java:580)
dynamodb | at com.almworks.sqlite4java.SQLiteConnection.prepare(SQLiteConnection.java:635)
dynamodb | at com.almworks.sqlite4java.SQLiteConnection.prepare(SQLiteConnection.java:622)
dynamodb | at com.amazonaws.services.dynamodbv2.local.shared.access.sqlite.AmazonDynamoDBOfflineSQLiteJob.getPreparedStatement(AmazonDynamoDBOfflineSQLiteJob.java:159)
dynamodb | at com.amazonaws.services.dynamodbv2.local.shared.access.sqlite.SQLiteDBAccess$20.doWork(SQLiteDBAccess.java:2376)
dynamodb | at com.amazonaws.services.dynamodbv2.local.shared.access.sqlite.SQLiteDBAccess$20.doWork(SQLiteDBAccess.java:2041)
dynamodb | at com.amazonaws.services.dynamodbv2.local.shared.access.sqlite.AmazonDynamoDBOfflineSQLiteJob.job(AmazonDynamoDBOfflineSQLiteJob.java:117)
dynamodb | at com.almworks.sqlite4java.SQLiteJob.execute(SQLiteJob.java:372)
dynamodb | at com.almworks.sqlite4java.SQLiteQueue.executeJob(SQLiteQueue.java:534)
dynamodb | at com.almworks.sqlite4java.SQLiteQueue.queueFunction(SQLiteQueue.java:667)
dynamodb | at com.almworks.sqlite4java.SQLiteQueue.runQueue(SQLiteQueue.java:623)
dynamodb | at com.almworks.sqlite4java.SQLiteQueue.access$000(SQLiteQueue.java:77)
dynamodb | at com.almworks.sqlite4java.SQLiteQueue$1.run(SQLiteQueue.java:205)
dynamodb | at java.base/java.lang.Thread.run(Thread.java:840)
dynamodb |
dynamodb | Feb 03, 2025 6:24:23 PM com.almworks.sqlite4java.Internal log
dynamodb | WARNING: [sqlite] SQLiteDBAccess$20@299c78bb: job exception
dynamodb | com.almworks.sqlite4java.SQLiteException: [1] DB[2] prepare() SELECT ObjectJSON FROM (SELECT ObjectJSON, indexKey_4, hashRangeValue FROM "myapp_development" WHERE indexKey_4 IS NOT NULL ) WHERE indexKey_4 = ? ORDER BY indexKey_4 ASC, hashRangeValue ASC LIMIT ?; [no such column: indexKey_4]
dynamodb | at com.almworks.sqlite4java.SQLiteConnection.throwResult(SQLiteConnection.java:1436)
dynamodb | at com.almworks.sqlite4java.SQLiteConnection.prepare(SQLiteConnection.java:580)
dynamodb | at com.almworks.sqlite4java.SQLiteConnection.prepare(SQLiteConnection.java:635)
dynamodb | at com.almworks.sqlite4java.SQLiteConnection.prepare(SQLiteConnection.java:622)
dynamodb | at com.amazonaws.services.dynamodbv2.local.shared.access.sqlite.AmazonDynamoDBOfflineSQLiteJob.getPreparedStatement(AmazonDynamoDBOfflineSQLiteJob.java:159)
dynamodb | at com.amazonaws.services.dynamodbv2.local.shared.access.sqlite.SQLiteDBAccess$20.doWork(SQLiteDBAccess.java:2376)
dynamodb | at com.amazonaws.services.dynamodbv2.local.shared.access.sqlite.SQLiteDBAccess$20.doWork(SQLiteDBAccess.java:2041)
dynamodb | at com.amazonaws.services.dynamodbv2.local.shared.access.sqlite.AmazonDynamoDBOfflineSQLiteJob.job(AmazonDynamoDBOfflineSQLiteJob.java:117)
dynamodb | at com.almworks.sqlite4java.SQLiteJob.execute(SQLiteJob.java:372)
dynamodb | at com.almworks.sqlite4java.SQLiteQueue.executeJob(SQLiteQueue.java:534)
dynamodb | at com.almworks.sqlite4java.SQLiteQueue.queueFunction(SQLiteQueue.java:667)
dynamodb | at com.almworks.sqlite4java.SQLiteQueue.runQueue(SQLiteQueue.java:623)
dynamodb | at com.almworks.sqlite4java.SQLiteQueue.access$000(SQLiteQueue.java:77)
dynamodb | at com.almworks.sqlite4java.SQLiteQueue$1.run(SQLiteQueue.java:205)
dynamodb | at java.base/java.lang.Thread.run(Thread.java:840)
dynamodb |
dynamodb | Feb 03, 2025 6:24:23 PM com.almworks.sqlite4java.Internal log
dynamodb | WARNING: [sqlite] SQLiteDBAccess$20@5ed36f69: job exception
dynamodb | com.almworks.sqlite4java.SQLiteException: [1] DB[2] prepare() SELECT ObjectJSON FROM (SELECT ObjectJSON, indexKey_4, hashRangeValue FROM "myapp_development" WHERE indexKey_4 IS NOT NULL ) WHERE indexKey_4 = ? ORDER BY indexKey_4 ASC, hashRangeValue ASC LIMIT ?; [no such column: indexKey_4]
dynamodb | at com.almworks.sqlite4java.SQLiteConnection.throwResult(SQLiteConnection.java:1436)
dynamodb | at com.almworks.sqlite4java.SQLiteConnection.prepare(SQLiteConnection.java:580)
dynamodb | at com.almworks.sqlite4java.SQLiteConnection.prepare(SQLiteConnection.java:635)
dynamodb | at com.almworks.sqlite4java.SQLiteConnection.prepare(SQLiteConnection.java:622)
dynamodb | at com.amazonaws.services.dynamodbv2.local.shared.access.sqlite.AmazonDynamoDBOfflineSQLiteJob.getPreparedStatement(AmazonDynamoDBOfflineSQLiteJob.java:159)
dynamodb | at com.amazonaws.services.dynamodbv2.local.shared.access.sqlite.SQLiteDBAccess$20.doWork(SQLiteDBAccess.java:2376)
dynamodb | at com.amazonaws.services.dynamodbv2.local.shared.access.sqlite.SQLiteDBAccess$20.doWork(SQLiteDBAccess.java:2041)
dynamodb | at com.amazonaws.services.dynamodbv2.local.shared.access.sqlite.AmazonDynamoDBOfflineSQLiteJob.job(AmazonDynamoDBOfflineSQLiteJob.java:117)
dynamodb | at com.almworks.sqlite4java.SQLiteJob.execute(SQLiteJob.java:372)
dynamodb | at com.almworks.sqlite4java.SQLiteQueue.executeJob(SQLiteQueue.java:534)
dynamodb | at com.almworks.sqlite4java.SQLiteQueue.queueFunction(SQLiteQueue.java:667)
dynamodb | at com.almworks.sqlite4java.SQLiteQueue.runQueue(SQLiteQueue.java:623)
dynamodb | at com.almworks.sqlite4java.SQLiteQueue.access$000(SQLiteQueue.java:77)
dynamodb | at com.almworks.sqlite4java.SQLiteQueue$1.run(SQLiteQueue.java:205)
dynamodb | at java.base/java.lang.Thread.run(Thread.java:840)
dynamodb |
dynamodb | Feb 03, 2025 6:24:23 PM com.almworks.sqlite4java.Internal log
dynamodb | WARNING: [sqlite] SQLiteDBAccess$20@689f60cb: job exception
dynamodb | com.almworks.sqlite4java.SQLiteException: [1] DB[2] prepare() SELECT ObjectJSON FROM (SELECT ObjectJSON, indexKey_4, hashRangeValue FROM "myapp_development" WHERE indexKey_4 IS NOT NULL ) WHERE indexKey_4 = ? ORDER BY indexKey_4 ASC, hashRangeValue ASC LIMIT ?; [no such column: indexKey_4]
dynamodb | at com.almworks.sqlite4java.SQLiteConnection.throwResult(SQLiteConnection.java:1436)
dynamodb | at com.almworks.sqlite4java.SQLiteConnection.prepare(SQLiteConnection.java:580)
dynamodb | at com.almworks.sqlite4java.SQLiteConnection.prepare(SQLiteConnection.java:635)
dynamodb | at com.almworks.sqlite4java.SQLiteConnection.prepare(SQLiteConnection.java:622)
dynamodb | at com.amazonaws.services.dynamodbv2.local.shared.access.sqlite.AmazonDynamoDBOfflineSQLiteJob.getPreparedStatement(AmazonDynamoDBOfflineSQLiteJob.java:159)
dynamodb | at com.amazonaws.services.dynamodbv2.local.shared.access.sqlite.SQLiteDBAccess$20.doWork(SQLiteDBAccess.java:2376)
dynamodb | at com.amazonaws.services.dynamodbv2.local.shared.access.sqlite.SQLiteDBAccess$20.doWork(SQLiteDBAccess.java:2041)
dynamodb | at com.amazonaws.services.dynamodbv2.local.shared.access.sqlite.AmazonDynamoDBOfflineSQLiteJob.job(AmazonDynamoDBOfflineSQLiteJob.java:117)
dynamodb | at com.almworks.sqlite4java.SQLiteJob.execute(SQLiteJob.java:372)
dynamodb | at com.almworks.sqlite4java.SQLiteQueue.executeJob(SQLiteQueue.java:534)
dynamodb | at com.almworks.sqlite4java.SQLiteQueue.queueFunction(SQLiteQueue.java:667)
dynamodb | at com.almworks.sqlite4java.SQLiteQueue.runQueue(SQLiteQueue.java:623)
dynamodb | at com.almworks.sqlite4java.SQLiteQueue.access$000(SQLiteQueue.java:77)
dynamodb | at com.almworks.sqlite4java.SQLiteQueue$1.run(SQLiteQueue.java:205)
dynamodb | at java.base/java.lang.Thread.run(Thread.java:840)
Can you supply more information, the DDB Local version, and the model/code you are using?
Using the latest docker image 2.5.4. I didnt have any dynamodb local problems, but in the last week I get more and more SQLite errors, leading to a total corruption of the database. Using the official aws ruby sdk to access the database.