Uploaded image for project: 'Debezium'
  1. Debezium
  2. DBZ-2642

Hide stacktrace when default value for SQL Server cannot be parsed

XMLWordPrintable

      When the default value is not constant but an expression then Debezium is not able to evaluate it and emits the warning. The warning contains detail stacktrace which suggests to user that an error happens.
      Debezium should emit only warning and the detail stacktrace should be visible only at DEBUG level.

      The stactrace usually looks like

      java.lang.NumberFormatException: For input string: "1)+(2"
      	at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)
      	at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
      	at java.lang.Double.parseDouble(Double.java:538)
      	at io.debezium.connector.sqlserver.SqlServerDefaultValueConverter.lambda$9(SqlServerDefaultValueConverter.java:126)
      	at io.debezium.connector.sqlserver.SqlServerDefaultValueConverter.parseDefaultValue(SqlServerDefaultValueConverter.java:82)
      	at io.debezium.connector.sqlserver.SqlServerConnection.getDefaultValue(SqlServerConnection.java:512)
      	at io.debezium.jdbc.JdbcConnection.readTableColumn(JdbcConnection.java:1181)
      	at io.debezium.jdbc.JdbcConnection.readSchema(JdbcConnection.java:1126)
      	at io.debezium.connector.sqlserver.SqlServerSnapshotChangeEventSource.readTableStructure(SqlServerSnapshotChangeEventSource.java:183)
      	at io.debezium.relational.RelationalSnapshotChangeEventSource.doExecute(RelationalSnapshotChangeEventSource.java:122)
      	at io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.execute(AbstractSnapshotChangeEventSource.java:63)
      	at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$0(ChangeEventSourceCoordinator.java:105)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      	at java.lang.Thread.run(Thread.java:748)
      

              jpechane Jiri Pechanec
              jpechane Jiri Pechanec
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: