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

Log messages should use data type to present key/value info

    XMLWordPrintable

Details

    • Enhancement
    • Resolution: Unresolved
    • Major
    • None
    • None
    • None

    Description

      A Node.js client was putting load on a key and the server was showing the following in the log:

      �[0m�[31m14:43:08,342 ERROR [org.infinispan.interceptors.impl.InvocationContextInterceptor] (async-thread--p6-t18) ISPN000136: Error executing command PutKeyValueCommand, writing keys [WrappedByteArray{bytes=[B0x6C6561646572626F..[11], hashCode=-1576989476}]: org.infinispan.util.concurrent.TimeoutException: ISPN000299: Unable to acquire lock after 10 seconds for key WrappedByteArray{bytes=[B0x6C6561646572626F..[11], hashCode=-1576989476} and requestor CommandInvocation:datagrid-service-2:26030. Lock is held by CommandInvocation:datagrid-service-2:26029
      	at org.infinispan.util.concurrent.locks.impl.DefaultLockManager$KeyAwareExtendedLockPromise.get(DefaultLockManager.java:288) [infinispan-core-9.4.11-SNAPSHOT.jar:9.4.11-SNAPSHOT]
      	at org.infinispan.util.concurrent.locks.impl.DefaultLockManager$KeyAwareExtendedLockPromise.get(DefaultLockManager.java:218) [infinispan-core-9.4.11-SNAPSHOT.jar:9.4.11-SNAPSHOT]
      	at org.infinispan.util.concurrent.locks.impl.InfinispanLock$LockPlaceHolder.checkState(InfinispanLock.java:436) [infinispan-core-9.4.11-SNAPSHOT.jar:9.4.11-SNAPSHOT]
      	at org.infinispan.util.concurrent.locks.impl.InfinispanLock$LockPlaceHolder.lambda$toInvocationStage$3(InfinispanLock.java:412) [infinispan-core-9.4.11-SNAPSHOT.jar:9.4.11-SNAPSHOT]
      	at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602) [rt.jar:1.8.0_191]
      	at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577) [rt.jar:1.8.0_191]
      	at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:442) [rt.jar:1.8.0_191]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [rt.jar:1.8.0_191]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [rt.jar:1.8.0_191]
      	at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_191]
      

      The server now knows the data types, so it could figure out that this key of "text/plain" and could use the info to present the key in its text format as opposed to binary. This would help with diagnose/debugging.

      By trying out different keys I figured the key here was "leaderboard"

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated: