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

Hide stacktrace when default value for SQL Server cannot be parsed

    XMLWordPrintable

Details

    Description

      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)
      

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: