Thanks to visit codestin.com
Credit goes to github.com

Skip to content

NPE while generating Schema Diff script #42

@klapek777

Description

@klapek777

After updating to the latest version (1.2.10) tool is not able to generate schema diff script. The process ends with a failure status. In the "Preview Schema Migration" tab, I can see the differences between the source and target databases, but the script is not generated.
Stack trace:

java.util.concurrent.CompletionException: java.lang.RuntimeException: java.lang.NullPointerException: Cannot invoke "org.apache.ddlutils.model.Table.clone()" because the return value of "org.apache.ddlutils.model.Database.findTable(String, boolean)" is null at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?] at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?] at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:722) ~[?:?] at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?] at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1773) ~[?:?] at com.sap.cx.boosters.commercedbsync.concurrent.MDCTaskDecorator.lambda$decorate$0(MDCTaskDecorator.java:21) ~[commercedbsyncserver.jar:?] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?] at java.base/java.lang.Thread.run(Thread.java:840) [?:?] Caused by: java.lang.RuntimeException: java.lang.NullPointerException: Cannot invoke "org.apache.ddlutils.model.Table.clone()" because the return value of "org.apache.ddlutils.model.Database.findTable(String, boolean)" is null at com.sap.cx.boosters.commercedbsync.service.impl.DefaultDatabaseSchemaDifferenceService.lambda$scheduleGenerateSqlTask$18(DefaultDatabaseSchemaDifferenceService.java:511) ~[commercedbsyncserver.jar:?] at com.dynatrace.agent.introspection.threading.completable.ConsumerWrapper.accept(ConsumerWrapper.java:22) ~[?:1.305.98.20250114-172617] at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718) ~[?:?] ... 6 more Caused by: java.lang.NullPointerException: Cannot invoke "org.apache.ddlutils.model.Table.clone()" because the return value of "org.apache.ddlutils.model.Database.findTable(String, boolean)" is null at com.sap.cx.boosters.commercedbsync.service.impl.DefaultDatabaseSchemaDifferenceService.getDatabaseModelWithChanges4TableCreation(DefaultDatabaseSchemaDifferenceService.java:237) ~[commercedbsyncserver.jar:?] at com.sap.cx.boosters.commercedbsync.service.impl.DefaultDatabaseSchemaDifferenceService.generateSchemaDifferencesSql(DefaultDatabaseSchemaDifferenceService.java:82) ~[commercedbsyncserver.jar:?] at com.sap.cx.boosters.commercedbsync.service.impl.DefaultDatabaseSchemaDifferenceService.lambda$scheduleGenerateSqlTask$18(DefaultDatabaseSchemaDifferenceService.java:505) ~[commercedbsyncserver.jar:?] at com.dynatrace.agent.introspection.threading.completable.ConsumerWrapper.accept(ConsumerWrapper.java:22) ~[?:1.305.98.20250114-172617] at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718) ~[?:?] ... 6 more

On version 1.2.7 with the same configuration everything works fine.
Source DB: Oracle 19.23.0.0.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions