[ 
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

Reply via email to