etlapache-nifiavrogriddb

girdDB|NiFi PutDatabaseRecord error: Unable to setObject() index 1 of type 4


putdatabaserecord.error
Unable to setObject() with value 1 at index 1 of type 4

I am trying to ingest the avro records into a griddb table and have tried different solutions but the same error appears every time. The respective tables are created correctly by the PutSQL processor but the INSERT query in PutDatabaseRecord fails. Also I tried the same steps replacing GridDB with PostgreSQL and everything works fine. I guess the problem lies somewhere in my GridDB datatype mismatch.
I have followed the ETL With Apache Nifi tutorial available on GridDB site.

Error

NiFi Flow

Template File


Solution

  • This is a limitation of the GridDB JDBC driver, see the documentation section 2.2.4.3. NiFi uses the setObject() method with the SQL type populated, and this method is not supported by the GridDB driver. It may be possible for NiFi to catch this and instead try one of the supported methods, feel free to file a Jira for this improvement.