View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0006118 | SymmetricDS Pro | Bug | public | 2023-11-21 21:01 | 2024-05-28 12:21 |
Reporter | jvanmeter | Assigned To | jvanmeter | ||
Priority | normal | ||||
Status | closed | Resolution | fixed | ||
Product Version | 3.14.0 | ||||
Target Version | 3.14.11 | Fixed in Version | 3.14.11 | ||
Summary | 0006118: The logminer fails to serialize/deserialize timestamps | ||||
Description | When you have a long running transaction that contains a timestamp column and SymmetricDS tries to serialize it and store it, it runs into issues as seen by the following: 2023-11-21 11:58:49,488 ERROR [source] [LogMinerService] [source-job-7] Failed to mine the log StackTraceKey.init [RuntimeException:1265107615] java.lang.RuntimeException: Unable to create instance of interface java.time.format.DateTimeFormatterBuilder$DateTimePrinterParser. Registering an InstanceCreator or a TypeAdapter for this type, or adding a no-args constructor may fix this problem. at com.google.gson.internal.ConstructorConstructor$16.construct(ConstructorConstructor.java:275) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:211) at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41) at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:72) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:130) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:221) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:130) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:221) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:130) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:221) at com.google.gson.Gson.fromJson(Gson.java:991) at com.google.gson.Gson.fromJson(Gson.java:1062) at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:163) at com.jumpmind.symmetric.console.impl.eN.a(Element.java:104) at com.jumpmind.symmetric.console.impl.eN.deserialize(Element.java:26) at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41) at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:187) at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:145) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:130) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:221) at com.google.gson.Gson.fromJson(Gson.java:991) at com.google.gson.Gson.fromJson(Gson.java:1062) at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:163) at com.jumpmind.symmetric.console.impl.eN.a(Element.java:104) at com.jumpmind.symmetric.console.impl.eN.deserialize(Element.java:26) at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41) at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:187) at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:145) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:130) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:221) at com.google.gson.Gson.fromJson(Gson.java:991) at com.google.gson.Gson.fromJson(Gson.java:1062) at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:163) at com.jumpmind.symmetric.console.impl.eN.a(Element.java:104) at com.jumpmind.symmetric.console.impl.eN.deserialize(Element.java:26) at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:130) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:221) at com.google.gson.Gson.fromJson(Gson.java:991) at com.google.gson.Gson.fromJson(Gson.java:956) at com.google.gson.Gson.fromJson(Gson.java:905) at com.google.gson.Gson.fromJson(Gson.java:876) at com.jumpmind.symmetric.console.impl.ec.b(DataQueue.java:105) at com.jumpmind.symmetric.console.impl.ec.c(DataQueue.java:115) at com.jumpmind.symmetric.console.impl.et.d(TransactionMiner.java:401) at com.jumpmind.symmetric.console.impl.et.g(TransactionMiner.java:392) at com.jumpmind.symmetric.console.service.impl.LogMinerService.mineDataForTables(LogMinerService.java:173) at com.jumpmind.symmetric.console.service.impl.LogMinerService.mineData(LogMinerService.java:76) at org.jumpmind.symmetric.job.LogMinerJob.doJob(LogMinerJob.java:44) at org.jumpmind.symmetric.job.AbstractJob.invoke(AbstractJob.java:200) at org.jumpmind.symmetric.job.AbstractJob.run(AbstractJob.java:266) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) Caused by: java.lang.UnsupportedOperationException: Interface can't be instantiated! Interface name: java.time.format.DateTimeFormatterBuilder$DateTimePrinterParser at com.google.gson.internal.UnsafeAllocator.assertInstantiable(UnsafeAllocator.java:118) at com.google.gson.internal.UnsafeAllocator$1.newInstance(UnsafeAllocator.java:49) at com.google.gson.internal.ConstructorConstructor$16.construct(ConstructorConstructor.java:272) ... 59 more | ||||
Tags | log miner | ||||
Date Modified | Username | Field | Change |
---|---|---|---|
2023-11-21 21:01 | jvanmeter | New Issue | |
2023-11-21 21:01 | jvanmeter | Status | new => assigned |
2023-11-21 21:01 | jvanmeter | Assigned To | => jvanmeter |
2023-11-21 21:01 | jvanmeter | Tag Attached: log miner | |
2023-11-21 21:57 | jvanmeter | Status | assigned => resolved |
2023-11-21 21:57 | jvanmeter | Resolution | open => fixed |
2023-11-21 21:57 | jvanmeter | Fixed in Version | => 3.14.11 |
2023-12-16 01:56 | admin | Status | resolved => closed |
2024-05-28 12:21 | elong | Issue cloned: 0006451 | |
2024-05-28 12:21 | elong | Relationship added | related to 0006451 |