Uploaded image for project: 'Apache NiFi'
  1. Apache NiFi
  2. NIFI-5515

[CaptureChangeMysql] Cannot get real value of primitive type when column type is unsigned.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • 1.6.0
    • None
    • Extensions
    • None
    • Patch

    Description

      Processor: CaptureChangeMysql

      When mysql column type is of unsigned primitive type, CaptureChangeMysql is not able to read the data properly when the value overflows. I investigated a bit and came across this (https://github.com/shyiko/mysql-binlog-connector-java/issues/104). The library which is internally being used in CaptureChangeMysql Processor (https://github.com/shyiko/mysql-binlog-connector-java) does not handle this case and its upto consumer to handle it. More description can be found in the link.

      Issue summary Eg.
      Column type : unsigned tinyint
      Actual value : 128
      Value from CaptureChangeMysql: -128 (Because its still 8bits storage and mostsignificant bit is identified as sign from java.)

      Possible solution:
      Column types are read and stored Distributed Map Cache Client so we should be able to do these conversions.

      Nifi version : 1.6.0
      Mysql version : 5.7.22-log
      Binlog type. : Row-based logging

      Attachments

        Activity

          People

            Unassigned Unassigned
            akonale ashwin konale
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: