[ https://issues.apache.org/jira/browse/QPID-8096?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Keith Wall updated QPID-8096: ----------------------------- Description: Putting (HTTP PUT) a user preference to the store when using a configuration store backed by BDB (or JDBC), fails with a stack trace like the following. The store exception would cause the Broker to fail. The user would need to be authenticated. A restart would restore normal service. The normal use-case for preferences is the persistence of queries within the web-management console. The console uses POST operations so it unaffected by this defect. {{Thread terminated due to uncaught exceptionorg.apache.qpid.server.store.StoreException: Error on replacing of preferences: null}} {{ at org.apache.qpid.server.store.berkeleydb.StandardEnvironmentFacade.handleDatabaseException(StandardEnvironmentFacade.java:447)}} {{ at org.apache.qpid.server.store.berkeleydb.AbstractBDBPreferenceStore.removeAndAdd(AbstractBDBPreferenceStore.java:211)}} {{ at org.apache.qpid.server.store.berkeleydb.AbstractBDBPreferenceStore.replace(AbstractBDBPreferenceStore.java:160)}} {{ at org.apache.qpid.server.model.preferences.UserPreferencesImpl.doReplaceByTypeAndName(UserPreferencesImpl.java:280)}} {{ at org.apache.qpid.server.model.preferences.UserPreferencesImpl.access$400(UserPreferencesImpl.java:58)}} {{ at org.apache.qpid.server.model.preferences.UserPreferencesImpl$6.doOperation(UserPreferencesImpl.java:249)}} {{ at org.apache.qpid.server.model.preferences.UserPreferencesImpl$6.doOperation(UserPreferencesImpl.java:245)}} {{ at org.apache.qpid.server.model.preferences.UserPreferencesImpl$PreferencesTask$1.run(UserPreferencesImpl.java:653)}} {{ at java.security.AccessController.doPrivileged(Native Method)}} {{ at javax.security.auth.Subject.doAs(Subject.java:360)}} {{ at org.apache.qpid.server.model.preferences.UserPreferencesImpl$PreferencesTask.execute(UserPreferencesImpl.java:648)}} {{ at org.apache.qpid.server.configuration.updater.TaskExecutorImpl$TaskLoggingWrapper.execute(TaskExecutorImpl.java:248)}} {{ at org.apache.qpid.server.configuration.updater.TaskExecutorImpl$CallableWrapper$1.run(TaskExecutorImpl.java:320)}} {{ at java.security.AccessController.doPrivileged(Native Method)}} {{ at javax.security.auth.Subject.doAs(Subject.java:360)}} {{ at org.apache.qpid.server.configuration.updater.TaskExecutorImpl$CallableWrapper.call(TaskExecutorImpl.java:313)}} {{ at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:111)}} {{ at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:58)}} {{ at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:75)}} {{ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)}} {{ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)}} {{ at org.apache.qpid.server.bytebuffer.QpidByteBufferFactory.lambda$null$0(QpidByteBufferFactory.java:464)}} {{ at java.lang.Thread.run(Thread.java:748)}} {{Caused by: java.lang.NullPointerException}} {{ at org.apache.qpid.server.store.berkeleydb.tuple.UUIDTupleBinding.objectToEntry(UUIDTupleBinding.java:42)}} {{ at org.apache.qpid.server.store.berkeleydb.tuple.UUIDTupleBinding.objectToEntry(UUIDTupleBinding.java:29)}} {{ at com.sleepycat.bind.tuple.TupleBinding.objectToEntry(TupleBinding.java:81)}} {{ at org.apache.qpid.server.store.berkeleydb.AbstractBDBPreferenceStore.removeAndAdd(AbstractBDBPreferenceStore.java:192)}} {{ ... 21 more}} was: Putting (HTTP PUT) a user preference to the store when using a configuration store backed by BDB (or JDBC), fails with a stack trace like the following. The store exception would cause the Broker to fail. The user would need to be authenticated. A restart would restore normal service. The normal use-case for preferences is the persistence of queries within the web-management console. The console uses POST operations so it unaffected by this defect. {{org.apache.qpid.server.store.StoreException: Error on replacing of preferences: null}} {{ at org.apache.qpid.server.store.berkeleydb.StandardEnvironmentFacade.handleDatabaseException(StandardEnvironmentFacade.java:447)}} {{ at org.apache.qpid.server.store.berkeleydb.AbstractBDBPreferenceStore.removeAndAdd(AbstractBDBPreferenceStore.java:211)}} {{ at org.apache.qpid.server.store.berkeleydb.AbstractBDBPreferenceStore.replace(AbstractBDBPreferenceStore.java:160)}} {{ at org.apache.qpid.server.model.preferences.UserPreferencesImpl.doReplaceByTypeAndName(UserPreferencesImpl.java:280)}} {{ at org.apache.qpid.server.model.preferences.UserPreferencesImpl.access$400(UserPreferencesImpl.java:58)}} {{ at org.apache.qpid.server.model.preferences.UserPreferencesImpl$6.doOperation(UserPreferencesImpl.java:249)}} {{ at org.apache.qpid.server.model.preferences.UserPreferencesImpl$6.doOperation(UserPreferencesImpl.java:245)}} {{ at org.apache.qpid.server.model.preferences.UserPreferencesImpl$PreferencesTask$1.run(UserPreferencesImpl.java:653)}} {{ at java.security.AccessController.doPrivileged(Native Method)}} {{ at javax.security.auth.Subject.doAs(Subject.java:360)}} {{ at org.apache.qpid.server.model.preferences.UserPreferencesImpl$PreferencesTask.execute(UserPreferencesImpl.java:648)}} {{ at org.apache.qpid.server.configuration.updater.TaskExecutorImpl$TaskLoggingWrapper.execute(TaskExecutorImpl.java:248)}} {{ at org.apache.qpid.server.configuration.updater.TaskExecutorImpl$CallableWrapper$1.run(TaskExecutorImpl.java:320)}} {{ at java.security.AccessController.doPrivileged(Native Method)}} {{ at javax.security.auth.Subject.doAs(Subject.java:360)}} {{ at org.apache.qpid.server.configuration.updater.TaskExecutorImpl$CallableWrapper.call(TaskExecutorImpl.java:313)}} {{ at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:111)}} {{ at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:58)}} {{ at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:75)}} {{ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)}} {{ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)}} {{ at org.apache.qpid.server.bytebuffer.QpidByteBufferFactory.lambda$null$0(QpidByteBufferFactory.java:464)}} {{ at java.lang.Thread.run(Thread.java:748)}} {{Caused by: java.lang.NullPointerException}} {{ at org.apache.qpid.server.store.berkeleydb.tuple.UUIDTupleBinding.objectToEntry(UUIDTupleBinding.java:42)}} {{ at org.apache.qpid.server.store.berkeleydb.tuple.UUIDTupleBinding.objectToEntry(UUIDTupleBinding.java:29)}} {{ at com.sleepycat.bind.tuple.TupleBinding.objectToEntry(TupleBinding.java:81)}} {{ at org.apache.qpid.server.store.berkeleydb.AbstractBDBPreferenceStore.removeAndAdd(AbstractBDBPreferenceStore.java:192)}} {{ ... 21 more}} > [Broker-j] PUTting a user preference to the BDB backed configuration store > fails with NPE > ----------------------------------------------------------------------------------------- > > Key: QPID-8096 > URL: https://issues.apache.org/jira/browse/QPID-8096 > Project: Qpid > Issue Type: Bug > Components: Broker-J > Affects Versions: qpid-java-6.1, qpid-java-broker-7.0.0, > qpid-java-broker-7.0.1 > Reporter: Keith Wall > Priority: Minor > > Putting (HTTP PUT) a user preference to the store when using a configuration > store backed by BDB (or JDBC), fails with a stack trace like the following. > The store exception would cause the Broker to fail. The user would need to > be authenticated. A restart would restore normal service. > The normal use-case for preferences is the persistence of queries within the > web-management console. The console uses POST operations so it unaffected by > this defect. > > {{Thread terminated due to uncaught > exceptionorg.apache.qpid.server.store.StoreException: Error on replacing of > preferences: null}} > {{ at > org.apache.qpid.server.store.berkeleydb.StandardEnvironmentFacade.handleDatabaseException(StandardEnvironmentFacade.java:447)}} > {{ at > org.apache.qpid.server.store.berkeleydb.AbstractBDBPreferenceStore.removeAndAdd(AbstractBDBPreferenceStore.java:211)}} > {{ at > org.apache.qpid.server.store.berkeleydb.AbstractBDBPreferenceStore.replace(AbstractBDBPreferenceStore.java:160)}} > {{ at > org.apache.qpid.server.model.preferences.UserPreferencesImpl.doReplaceByTypeAndName(UserPreferencesImpl.java:280)}} > {{ at > org.apache.qpid.server.model.preferences.UserPreferencesImpl.access$400(UserPreferencesImpl.java:58)}} > {{ at > org.apache.qpid.server.model.preferences.UserPreferencesImpl$6.doOperation(UserPreferencesImpl.java:249)}} > {{ at > org.apache.qpid.server.model.preferences.UserPreferencesImpl$6.doOperation(UserPreferencesImpl.java:245)}} > {{ at > org.apache.qpid.server.model.preferences.UserPreferencesImpl$PreferencesTask$1.run(UserPreferencesImpl.java:653)}} > {{ at java.security.AccessController.doPrivileged(Native Method)}} > {{ at javax.security.auth.Subject.doAs(Subject.java:360)}} > {{ at > org.apache.qpid.server.model.preferences.UserPreferencesImpl$PreferencesTask.execute(UserPreferencesImpl.java:648)}} > {{ at > org.apache.qpid.server.configuration.updater.TaskExecutorImpl$TaskLoggingWrapper.execute(TaskExecutorImpl.java:248)}} > {{ at > org.apache.qpid.server.configuration.updater.TaskExecutorImpl$CallableWrapper$1.run(TaskExecutorImpl.java:320)}} > {{ at java.security.AccessController.doPrivileged(Native Method)}} > {{ at javax.security.auth.Subject.doAs(Subject.java:360)}} > {{ at > org.apache.qpid.server.configuration.updater.TaskExecutorImpl$CallableWrapper.call(TaskExecutorImpl.java:313)}} > {{ at > com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:111)}} > {{ at > com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:58)}} > {{ at > com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:75)}} > {{ at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)}} > {{ at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)}} > {{ at > org.apache.qpid.server.bytebuffer.QpidByteBufferFactory.lambda$null$0(QpidByteBufferFactory.java:464)}} > {{ at java.lang.Thread.run(Thread.java:748)}} > {{Caused by: java.lang.NullPointerException}} > {{ at > org.apache.qpid.server.store.berkeleydb.tuple.UUIDTupleBinding.objectToEntry(UUIDTupleBinding.java:42)}} > {{ at > org.apache.qpid.server.store.berkeleydb.tuple.UUIDTupleBinding.objectToEntry(UUIDTupleBinding.java:29)}} > {{ at > com.sleepycat.bind.tuple.TupleBinding.objectToEntry(TupleBinding.java:81)}} > {{ at > org.apache.qpid.server.store.berkeleydb.AbstractBDBPreferenceStore.removeAndAdd(AbstractBDBPreferenceStore.java:192)}} > {{ ... 21 more}} -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org