vaibhavk1992 commented on issue #713:
URL:
https://github.com/apache/incubator-xtable/issues/713#issuecomment-3873384125
@vinishjail97 @the-other-tim-brown Here is the error trace After creating a
Delta table and committing transactions using Delta Kernel 4.0.0,
getLatestSnapshot() throws NullPointerException because the _last_checkpoint
file
is not created.
`2026-02-10 00:12:04 WARN org.apache.hadoop.util.NativeCodeLoader:60 -
Unable to load native-hadoop library for your platform... using builtin-java
classes where applicable
ApplySnapshot diff: 2 files to add, 0 files to remove
2026-02-10 00:12:05 WARN
io.delta.kernel.internal.snapshot.SnapshotManager:271 - Cannot find a complete
checkpoint. Listing from version 0.
Transaction committed successfully. Version: 0
Executing 1 post-commit hooks
Hook type: CHECKSUM_SIMPLE
Invoking hook...
Hook invoked successfully
Delta log exists after commit: true
2026-02-10 00:12:07 WARN
io.delta.kernel.internal.snapshot.SnapshotManager:271 - Cannot find a complete
checkpoint. Listing from version 0.
2026-02-10 00:12:07 WARN
io.delta.kernel.internal.snapshot.SnapshotManager:271 - Cannot find a complete
checkpoint. Listing from version 0.
Reading existing Delta table snapshot to identify files to remove
Table path:
file:/var/folders/5d/93zpfht151dcfby0ptwdw14h0000gp/T/junit-623269751281325179/test-43b95c1c-c268-4f3e-9c41-46fd85a7aa1d
2026-02-10 00:12:07 WARN
io.delta.kernel.internal.checkpoints.Checkpointer:353 - Failed to load
checkpoint metadata from file
file:/var/folders/5d/93zpfht151dcfby0ptwdw14h0000gp/T/junit-623269751281325179/test-43b95c1c-c268-4f3e-9c41-46fd85a7aa1d/_delta_log/_last_checkpoint.
It must be in the process of being written. Retrying after 1sec. (current
attempt of 0 (max 3)
io.delta.kernel.exceptions.KernelEngineException: Encountered an error from
the underlying engine implementation while trying to Reading the last
checkpoint file as JSON: null
at
io.delta.kernel.internal.DeltaErrors.wrapEngineExceptionThrowsIO(DeltaErrors.java:471)
~[delta-kernel-api-4.0.0.jar:4.0.0]
at
io.delta.kernel.internal.checkpoints.Checkpointer.loadMetadataFromFile(Checkpointer.java:312)
~[delta-kernel-api-4.0.0.jar:4.0.0]
at
io.delta.kernel.internal.checkpoints.Checkpointer.readLastCheckpointFile(Checkpointer.java:258)
~[delta-kernel-api-4.0.0.jar:4.0.0]
at
io.delta.kernel.internal.snapshot.SnapshotManager.lambda$getStartCheckpointVersion$20(SnapshotManager.java:594)
~[delta-kernel-api-4.0.0.jar:4.0.0]
at java.base/java.util.Optional.orElseGet(Optional.java:369) ~[?:?]
at
io.delta.kernel.internal.snapshot.SnapshotManager.getStartCheckpointVersion(SnapshotManager.java:593)
~[delta-kernel-api-4.0.0.jar:4.0.0]
at
io.delta.kernel.internal.snapshot.SnapshotManager.getLogSegmentForVersion(SnapshotManager.java:256)
~[delta-kernel-api-4.0.0.jar:4.0.0]
at
io.delta.kernel.internal.snapshot.SnapshotManager.buildLatestSnapshot(SnapshotManager.java:78)
~[delta-kernel-api-4.0.0.jar:4.0.0]
at
io.delta.kernel.internal.TableImpl.getLatestSnapshot(TableImpl.java:102)
~[delta-kernel-api-4.0.0.jar:4.0.0]
at
org.apache.xtable.kernel.DeltaKernelDataFileUpdatesExtractor.applySnapshot(DeltaKernelDataFileUpdatesExtractor.java:98)
~[classes/:?]
at
org.apache.xtable.kernel.DeltaKernelConversionTarget.syncFilesForSnapshot(DeltaKernelConversionTarget.java:174)
~[classes/:?]
at
org.apache.xtable.spi.sync.TableFormatSync.lambda$syncSnapshot$0(TableFormatSync.java:78)
~[classes/:?]
at
org.apache.xtable.spi.sync.TableFormatSync.getSyncResult(TableFormatSync.java:178)
~[classes/:?]
at
org.apache.xtable.spi.sync.TableFormatSync.syncSnapshot(TableFormatSync.java:74)
~[classes/:?]
at
org.apache.xtable.kernel.TestDeltaKernelSync.testCreateSnapshotControlFlow(TestDeltaKernelSync.java:139)
~[test-classes/:?]
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[?:?]
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[?:?]
at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:?]
at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at
org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:767)
~[junit-platform-commons-1.11.4.jar:1.11.4]
at
org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at
org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at
org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at
org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147)
~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at
org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:86)
~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at
org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at
org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at
org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at
org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at
org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at
org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at
org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)
~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at
org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)
~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at
org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$8(TestMethodTestDescriptor.java:217)
~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
~[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:213)
~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at
org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:138)
~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at
org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68)
~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:156)
~[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
~[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:146)
~[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
~[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:144)
~[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
~[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:143)
~[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:100)
~[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.exec(ForkJoinPoolHierarchicalTestExecutorService.java:274)
~[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.execSync(ForkJoinPoolHierarchicalTestExecutorService.java:247)
~[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:159)
~[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:160)
~[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
~[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:146)
~[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
~[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:144)
~[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
~[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:143)
~[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:100)
~[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.exec(ForkJoinPoolHierarchicalTestExecutorService.java:274)
~[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.execSync(ForkJoinPoolHierarchicalTestExecutorService.java:247)
~[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:159)
~[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:160)
~[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
~[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:146)
~[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
~[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:144)
~[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:143)
[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:100)
[junit-platform-engine-1.11.4.jar:1.11.4]
at
org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.exec(ForkJoinPoolHierarchicalTestExecutorService.java:274)
[junit-platform-engine-1.11.4.jar:1.11.4]
at
java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290) [?:?]
at
java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
[?:?]
at
java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656) [?:?]
at
java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
[?:?]
at
java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
[?:?]
Caused by: java.lang.NullPointerException
at
io.delta.kernel.internal.checkpoints.Checkpointer.lambda$loadMetadataFromFile$6(Checkpointer.java:315)
~[delta-kernel-api-4.0.0.jar:4.0.0]
at
io.delta.kernel.internal.DeltaErrors.wrapEngineExceptionThrowsIO(DeltaErrors.java:464)
~[delta-kernel-api-4.0.0.jar:4.0.0]
... 73 more`
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]