Created on 03-12-2023 05:50 AM - edited 03-12-2023 10:24 AM
Hello,
I am using the below Avro schema to insert records to cassandra using PutCassandraRecord processor, here this column is uuid datatype in cassandra database but nifi is not able to resolve this datatype and the getting this error
PutCassandraRecord[id=676539f3-2fc7-173e-8d3f-2e703922f111] Unable to write the records into Cassandra table due to com.datastax.driver.core.exceptions.InvalidQueryException: UUID should be 16 or 0 bytes (36) - Caused by: com.datastax.driver.core.exceptions.InvalidQueryException: UUID should be 16 or 0 bytes (36): {}
Avro Schema defined in AvroSchemaRegistry
{
"type": "record",
"name": "provenance_event",
"namespace": "provenanceRecords",
"fields": [{
"name": "id",
"type": ["null", {"type": "string", "logicalType": "uuid"}],
"default": null
}]
}
NiFI avro schema is not able to convert string datatype to uuid
Sample JSON which I sending
[ { "id" : "5b616957-2a98-4a9e-97c8-2d2333966a0f" }]
I am on NiFi 1.16.3 version
Created 03-13-2023 07:30 AM
@Meeran Going out on a limb, but i think the conflict is related to "LogicalType" of uuid not preparing the downstream value to what casssandra expects. The error seems to think the logicalType of the string is the wrong format. I think the error on the cassandra driver level, not with the schema or nifi itself.
One suggestion i have is that you could just make that a string (without the type) and see if the driver accepts. If it does, then you know the issue is just related to the LogicalType logic. As long as your uuid is not manipulated you do not need to re-confirm its actually a uuid in the nifi data flow.
Created 03-21-2023 03:16 AM
yeah. I tried that but still same issue