Uploaded image for project: 'Blazegraph (by SYSTAP)'
  1. Blazegraph (by SYSTAP)
  2. BLZG-644

ClassCastException during hash join (can not be cast to TermId)

    Details

      Description

      This was observed for BSBM BI Q5.

      The problem is that the hash joins were attempting to stick an IVCache's Value into a BTree modeled after the TERMS index when it was an INLINE value. We put TermIds into a mock TERMS index and BlobIVs into a mock BLOBS index in order to support the hash join. But an XSDInteger was getting stuff into the mock TERMS index and that was throwing a class cast exception.

        Activity

        Hide
        bryanthompson bryanthompson added a comment -

        I've managed to recreate this problem in a unit test of the IVEncoder utility classes. I needed to add some tests where an inline IV was used and where the IVCache was set for that inline IV.

        So, my question is do we EVER need to preserve the IVCache for an inline IV across a hash join? If not, then the answer is easy enough. I will just modify the test suite to NOT verify that IVCache associations are preserved for inline IVs.

        Show
        bryanthompson bryanthompson added a comment - I've managed to recreate this problem in a unit test of the IVEncoder utility classes. I needed to add some tests where an inline IV was used and where the IVCache was set for that inline IV. So, my question is do we EVER need to preserve the IVCache for an inline IV across a hash join? If not, then the answer is easy enough. I will just modify the test suite to NOT verify that IVCache associations are preserved for inline IVs.
        Hide
        bryanthompson bryanthompson added a comment -

        Modified the IVBindingSetEncoderWithIVCache to NOT cache the IVCache association for inline IVs. This change appears to be Ok in the various SPARQL query test suites. I am going to try it out in CI and see if any problems show up there.

        Committed revision r6213.

        Show
        bryanthompson bryanthompson added a comment - Modified the IVBindingSetEncoderWithIVCache to NOT cache the IVCache association for inline IVs. This change appears to be Ok in the various SPARQL query test suites. I am going to try it out in CI and see if any problems show up there. Committed revision r6213.
        Hide
        bryanthompson bryanthompson added a comment -

        Clean in CI

        Show
        bryanthompson bryanthompson added a comment - Clean in CI

          People

          • Assignee:
            bryanthompson bryanthompson
            Reporter:
            bryanthompson bryanthompson
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: