[ https://issues.apache.org/jira/browse/CLEREZZA-670?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rupert Westenthaler updated CLEREZZA-670: ----------------------------------------- Attachment: CLEREZZA-670_rdf.rdfjson.int_value_overflow_in_subject_comparator This patch replaces the substraction of the two hashes with a boolean check and therefore avoids interger range overflows. In addition it enables the unit test for big RDF Graph and adds an assertion that checks for the number of serialized triples is equals to the number of parsed. This check was very useful to find this bug. > Integer MAX/MIN value overflow in Comparator of the RDF JSON serializer > ----------------------------------------------------------------------- > > Key: CLEREZZA-670 > URL: https://issues.apache.org/jira/browse/CLEREZZA-670 > Project: Clerezza > Issue Type: Bug > Components: rdf.serialize > Reporter: Rupert Westenthaler > Labels: rdf/json > Attachments: > CLEREZZA-670_rdf.rdfjson.int_value_overflow_in_subject_comparator > > > The implementation of the SUBJECT_COMPARATOR within the > RdfJsonSerializingProvider sometimes encounters an int MAX/MIN value overflow. > In such cases the compare method erroneously returns an > * negative value - on a max value overflow or an > * positive value - on a min value overflow. > what causes the Triple array used for the serialization not being correctly > sorted. In such cases subjects do appear multiple times within the generated > json output. > To solve this one needs to replace the substraction of "hashA" from "hashB" > with a boolean check that returns a -1/+1. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira