Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-2575

Key Transformer registration is required on all nodes of the cluster, in case of custom keys

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Won't Do
    • Icon: Minor Minor
    • 11.0.0.Final
    • 5.2.0.Final
    • Embedded Querying
    • None
    • Sprint 10.0.0.Alpha1, Sprint 10.0.0.Alpha2, Sprint 9.4.0.Final, Sprint 10.0.0.Beta1, DataGrid Sprint #31, DataGrid Sprint #32, DataGrid Sprint #33, DataGrid Sprint #34, DataGrid Sprint #38, DataGrid Sprint #39

      The case is the following:

      I have a clustered cache on which I want to perform a search. I'm doing the following:
      I'm initializing SearchManager on node1, I'm registering a custom key transformer for my key using the created searchmanager, but then when I'm trying to put data into the cache on node1 (which is in REPL_SYNC mode with cache on node2), I'm getting the exception:

      java.lang.IllegalArgumentException: Indexing only works with entries keyed on Strings, primitives and classes that have the @Transformable annotation - you passed in a class org.infinispan.query.test.CustomKey3. Alternatively, see org.infinispan.query.SearchManager#registerKeyTransformer

      When I'm initializing the SearchManager using node2 cache and register the keyTransformer on it as well, then everything works perfectly, even though I am not using the second created SearchManager.
      The test which reproduces the issue is attached to the jira. Please see the test case: testSearchKeyTransformer()

              anistor Adrian Nistor (Inactive)
              amanukya@redhat.com Anna Manukyan
              Archiver:
              rhn-support-adongare Amol Dongare

                Created:
                Updated:
                Resolved:
                Archived: