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

When lazy deserialization is on, lock timeouts show MarshalledValue and not actual key

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 4.0.0.CR3
    • 4.0.0.CR2
    • Transactions
    • None

    Description

      Whenever EntryFactoryImpl can't acquire a lock, it throws:

      Object owner = lockManager.getOwner(key);
      throw new TimeoutException("Unable to acquire lock after [" + Util.prettyPrintTime(getLockAcquisitionTimeout(ctx)) + "] on key [" + key + "] for requestor [" +
      ctx.getLockOwner() + "]! Lock held by [" + owner + "]");

      However, when lazy deserialization is enabled, the key is shown in its MarshalledValue form which is useless to the user.

      The easy fix is to add:

      if (key instanceof MarshalledValue)

      { key = ((MarshalledValue) key).get(); }

      However, this is not pretty and the first time we're having to do something similar. We had to do the same in EventImpl for ISPN-242.

      Attachments

        Activity

          People

            rh-ee-galder Galder ZamarreƱo
            rh-ee-galder Galder ZamarreƱo
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: