[jira] [Commented] (QPID-8066) [Broker-J] Virtual host logger rules are left over in configuration store after deletion of virtual host logger on provided virtual host causing virtualhost restart fail

2018-01-31 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-8066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16346880#comment-16346880
 ] 

ASF subversion and git services commented on QPID-8066:
---

Commit bce93dfb642ef30a87227377d71c588b084d7d04 in qpid-broker-j's branch 
refs/heads/master from [~alex.rufous]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-broker-j.git;h=bce93df ]

QPID-8066: [Broker-J] Fix jdbc store deletion on removal of Virtual Host Node 
or/and Virtual Host


> [Broker-J] Virtual host logger rules are left over in configuration store 
> after deletion of virtual host logger on provided virtual host causing 
> virtualhost restart failure
> 
>
> Key: QPID-8066
> URL: https://issues.apache.org/jira/browse/QPID-8066
> Project: Qpid
>  Issue Type: Bug
>  Components: Broker-J
>Affects Versions: qpid-java-6.0, qpid-java-6.0.1, qpid-java-6.0.2, 
> qpid-java-6.0.3, qpid-java-6.0.4, qpid-java-6.0.5, qpid-java-6.1, 
> qpid-java-6.0.6, qpid-java-6.1.1, qpid-java-6.1.2, qpid-java-6.0.7, 
> qpid-java-6.1.3, qpid-java-6.0.8, qpid-java-6.1.4, qpid-java-broker-7.0.0, 
> qpid-java-6.1.5
>Reporter: Alex Rudyy
>Assignee: Keith Wall
>Priority: Critical
> Fix For: qpid-java-broker-7.0.1, qpid-java-broker-7.1.0
>
> Attachments: 
> 0001-QPID-8066-Broker-J-Remove-all-children-records-recur.patch, 
> QPID-8066.tar.bz2
>
>
> Virtual host logger rules are left over in configuration store after deletion 
> of virtual host logger on provided virtual host. On restart of VHN or Broker, 
> virtual host recovery fails with IllegalArgumentException as the one below:
> {noformat}
> java.lang.IllegalArgumentException: Recovered configured object record 
> BDBConfiguredObjectRecord [id=8e9c5547-c41b-4443-9333-48dac61f3b40, 
> type=VirtualHostLogInclusionRule, name=test, parents={}] has no recorded 
> parents and is not a valid child type [[interface 
> org.apache.qpid.server.model.VirtualHost, interface 
> org.apache.qpid.server.model.RemoteReplicationNode]] for the root 
> BDBVirtualHostNodeImplWithAccessChecking 
> [id=591aa6d9-c2e0-474c-a0a9-86eb14bc3c6a, name=bdb, 
> storePath=/home/alex/.qpid-7.1.0-SNAPSHOT/bdb/config]
> at 
> org.apache.qpid.server.store.GenericRecoverer.resolveDiscontinuity(GenericRecoverer.java:119)
> at 
> org.apache.qpid.server.store.GenericRecoverer.performRecover(GenericRecoverer.java:90)
> at 
> org.apache.qpid.server.store.GenericRecoverer.access$000(GenericRecoverer.java:41)
> at 
> org.apache.qpid.server.store.GenericRecoverer$1.execute(GenericRecoverer.java:59)
> at 
> org.apache.qpid.server.store.GenericRecoverer$1.execute(GenericRecoverer.java:55)
> at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl$TaskLoggingWrapper.execute(TaskExecutorImpl.java:248)
> at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl.submitWrappedTask(TaskExecutorImpl.java:165)
> at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl.run(TaskExecutorImpl.java:190)
> at 
> org.apache.qpid.server.store.GenericRecoverer.recover(GenericRecoverer.java:54)
> at 
> org.apache.qpid.server.store.VirtualHostStoreUpgraderAndRecoverer.recover(VirtualHostStoreUpgraderAndRecoverer.java:1085)
> at 
> org.apache.qpid.server.store.VirtualHostStoreUpgraderAndRecoverer.upgradeAndRecover(VirtualHostStoreUpgraderAndRecoverer.java:1058)
> at 
> org.apache.qpid.server.virtualhostnode.AbstractStandardVirtualHostNode.activate(AbstractStandardVirtualHostNode.java:91)
> at 
> org.apache.qpid.server.virtualhostnode.AbstractVirtualHostNode.doActivate(AbstractVirtualHostNode.java:162)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject.attainState(AbstractConfiguredObject.java:1524)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject.attainState(AbstractConfiguredObject.java:1503)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject$8.onSuccess(AbstractConfiguredObject.java:1070)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject$8.onSuccess(AbstractConfiguredObject.java:1064)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject$22$1.run(AbstractConfiguredObject.java:2639)
> at 
> 

[jira] [Commented] (QPID-8066) [Broker-J] Virtual host logger rules are left over in configuration store after deletion of virtual host logger on provided virtual host causing virtualhost restart fail

2018-01-31 Thread Alex Rudyy (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-8066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16346871#comment-16346871
 ] 

Alex Rudyy commented on QPID-8066:
--

The implemented changes reviled the defect with jdbc store deletion on VHN/VH 
removal

> [Broker-J] Virtual host logger rules are left over in configuration store 
> after deletion of virtual host logger on provided virtual host causing 
> virtualhost restart failure
> 
>
> Key: QPID-8066
> URL: https://issues.apache.org/jira/browse/QPID-8066
> Project: Qpid
>  Issue Type: Bug
>  Components: Broker-J
>Affects Versions: qpid-java-6.0, qpid-java-6.0.1, qpid-java-6.0.2, 
> qpid-java-6.0.3, qpid-java-6.0.4, qpid-java-6.0.5, qpid-java-6.1, 
> qpid-java-6.0.6, qpid-java-6.1.1, qpid-java-6.1.2, qpid-java-6.0.7, 
> qpid-java-6.1.3, qpid-java-6.0.8, qpid-java-6.1.4, qpid-java-broker-7.0.0, 
> qpid-java-6.1.5
>Reporter: Alex Rudyy
>Assignee: Keith Wall
>Priority: Critical
> Fix For: qpid-java-broker-7.0.1, qpid-java-broker-7.1.0
>
> Attachments: 
> 0001-QPID-8066-Broker-J-Remove-all-children-records-recur.patch, 
> QPID-8066.tar.bz2
>
>
> Virtual host logger rules are left over in configuration store after deletion 
> of virtual host logger on provided virtual host. On restart of VHN or Broker, 
> virtual host recovery fails with IllegalArgumentException as the one below:
> {noformat}
> java.lang.IllegalArgumentException: Recovered configured object record 
> BDBConfiguredObjectRecord [id=8e9c5547-c41b-4443-9333-48dac61f3b40, 
> type=VirtualHostLogInclusionRule, name=test, parents={}] has no recorded 
> parents and is not a valid child type [[interface 
> org.apache.qpid.server.model.VirtualHost, interface 
> org.apache.qpid.server.model.RemoteReplicationNode]] for the root 
> BDBVirtualHostNodeImplWithAccessChecking 
> [id=591aa6d9-c2e0-474c-a0a9-86eb14bc3c6a, name=bdb, 
> storePath=/home/alex/.qpid-7.1.0-SNAPSHOT/bdb/config]
> at 
> org.apache.qpid.server.store.GenericRecoverer.resolveDiscontinuity(GenericRecoverer.java:119)
> at 
> org.apache.qpid.server.store.GenericRecoverer.performRecover(GenericRecoverer.java:90)
> at 
> org.apache.qpid.server.store.GenericRecoverer.access$000(GenericRecoverer.java:41)
> at 
> org.apache.qpid.server.store.GenericRecoverer$1.execute(GenericRecoverer.java:59)
> at 
> org.apache.qpid.server.store.GenericRecoverer$1.execute(GenericRecoverer.java:55)
> at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl$TaskLoggingWrapper.execute(TaskExecutorImpl.java:248)
> at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl.submitWrappedTask(TaskExecutorImpl.java:165)
> at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl.run(TaskExecutorImpl.java:190)
> at 
> org.apache.qpid.server.store.GenericRecoverer.recover(GenericRecoverer.java:54)
> at 
> org.apache.qpid.server.store.VirtualHostStoreUpgraderAndRecoverer.recover(VirtualHostStoreUpgraderAndRecoverer.java:1085)
> at 
> org.apache.qpid.server.store.VirtualHostStoreUpgraderAndRecoverer.upgradeAndRecover(VirtualHostStoreUpgraderAndRecoverer.java:1058)
> at 
> org.apache.qpid.server.virtualhostnode.AbstractStandardVirtualHostNode.activate(AbstractStandardVirtualHostNode.java:91)
> at 
> org.apache.qpid.server.virtualhostnode.AbstractVirtualHostNode.doActivate(AbstractVirtualHostNode.java:162)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject.attainState(AbstractConfiguredObject.java:1524)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject.attainState(AbstractConfiguredObject.java:1503)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject$8.onSuccess(AbstractConfiguredObject.java:1070)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject$8.onSuccess(AbstractConfiguredObject.java:1064)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject$22$1.run(AbstractConfiguredObject.java:2639)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject$22$1.run(AbstractConfiguredObject.java:2635)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:360)
> at 
> 

[jira] [Commented] (QPID-8066) [Broker-J] Virtual host logger rules are left over in configuration store after deletion of virtual host logger on provided virtual host causing virtualhost restart fail

2018-01-30 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-8066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16345510#comment-16345510
 ] 

ASF subversion and git services commented on QPID-8066:
---

Commit dd9f95686e88772d3acbb4d020edbe517900c939 in qpid-broker-j's branch 
refs/heads/6.1.x from [~alex.rufous]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-broker-j.git;h=dd9f956 ]

QPID-8066: [Broker-J] Delete log inclusion rules on logger deletion

(cherry picked from commit 3daf38b2bc0d0d36ad778b1946e36fcb5e85b25d)


> [Broker-J] Virtual host logger rules are left over in configuration store 
> after deletion of virtual host logger on provided virtual host causing 
> virtualhost restart failure
> 
>
> Key: QPID-8066
> URL: https://issues.apache.org/jira/browse/QPID-8066
> Project: Qpid
>  Issue Type: Bug
>  Components: Broker-J
>Affects Versions: qpid-java-6.0, qpid-java-6.0.1, qpid-java-6.0.2, 
> qpid-java-6.0.3, qpid-java-6.0.4, qpid-java-6.0.5, qpid-java-6.1, 
> qpid-java-6.0.6, qpid-java-6.1.1, qpid-java-6.1.2, qpid-java-6.0.7, 
> qpid-java-6.1.3, qpid-java-6.0.8, qpid-java-6.1.4, qpid-java-broker-7.0.0, 
> qpid-java-6.1.5
>Reporter: Alex Rudyy
>Assignee: Keith Wall
>Priority: Critical
> Fix For: qpid-java-broker-7.0.1, qpid-java-broker-7.1.0
>
> Attachments: 
> 0001-QPID-8066-Broker-J-Remove-all-children-records-recur.patch, 
> QPID-8066.tar.bz2
>
>
> Virtual host logger rules are left over in configuration store after deletion 
> of virtual host logger on provided virtual host. On restart of VHN or Broker, 
> virtual host recovery fails with IllegalArgumentException as the one below:
> {noformat}
> java.lang.IllegalArgumentException: Recovered configured object record 
> BDBConfiguredObjectRecord [id=8e9c5547-c41b-4443-9333-48dac61f3b40, 
> type=VirtualHostLogInclusionRule, name=test, parents={}] has no recorded 
> parents and is not a valid child type [[interface 
> org.apache.qpid.server.model.VirtualHost, interface 
> org.apache.qpid.server.model.RemoteReplicationNode]] for the root 
> BDBVirtualHostNodeImplWithAccessChecking 
> [id=591aa6d9-c2e0-474c-a0a9-86eb14bc3c6a, name=bdb, 
> storePath=/home/alex/.qpid-7.1.0-SNAPSHOT/bdb/config]
> at 
> org.apache.qpid.server.store.GenericRecoverer.resolveDiscontinuity(GenericRecoverer.java:119)
> at 
> org.apache.qpid.server.store.GenericRecoverer.performRecover(GenericRecoverer.java:90)
> at 
> org.apache.qpid.server.store.GenericRecoverer.access$000(GenericRecoverer.java:41)
> at 
> org.apache.qpid.server.store.GenericRecoverer$1.execute(GenericRecoverer.java:59)
> at 
> org.apache.qpid.server.store.GenericRecoverer$1.execute(GenericRecoverer.java:55)
> at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl$TaskLoggingWrapper.execute(TaskExecutorImpl.java:248)
> at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl.submitWrappedTask(TaskExecutorImpl.java:165)
> at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl.run(TaskExecutorImpl.java:190)
> at 
> org.apache.qpid.server.store.GenericRecoverer.recover(GenericRecoverer.java:54)
> at 
> org.apache.qpid.server.store.VirtualHostStoreUpgraderAndRecoverer.recover(VirtualHostStoreUpgraderAndRecoverer.java:1085)
> at 
> org.apache.qpid.server.store.VirtualHostStoreUpgraderAndRecoverer.upgradeAndRecover(VirtualHostStoreUpgraderAndRecoverer.java:1058)
> at 
> org.apache.qpid.server.virtualhostnode.AbstractStandardVirtualHostNode.activate(AbstractStandardVirtualHostNode.java:91)
> at 
> org.apache.qpid.server.virtualhostnode.AbstractVirtualHostNode.doActivate(AbstractVirtualHostNode.java:162)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject.attainState(AbstractConfiguredObject.java:1524)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject.attainState(AbstractConfiguredObject.java:1503)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject$8.onSuccess(AbstractConfiguredObject.java:1070)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject$8.onSuccess(AbstractConfiguredObject.java:1064)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject$22$1.run(AbstractConfiguredObject.java:2639)
> at 
> 

[jira] [Commented] (QPID-8066) [Broker-J] Virtual host logger rules are left over in configuration store after deletion of virtual host logger on provided virtual host causing virtualhost restart fail

2018-01-30 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-8066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16345351#comment-16345351
 ] 

ASF subversion and git services commented on QPID-8066:
---

Commit 3daf38b2bc0d0d36ad778b1946e36fcb5e85b25d in qpid-broker-j's branch 
refs/heads/7.0.x from [~alex.rufous]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-broker-j.git;h=3daf38b ]

QPID-8066: [Broker-J] Delete log inclusion rules on logger deletion


> [Broker-J] Virtual host logger rules are left over in configuration store 
> after deletion of virtual host logger on provided virtual host causing 
> virtualhost restart failure
> 
>
> Key: QPID-8066
> URL: https://issues.apache.org/jira/browse/QPID-8066
> Project: Qpid
>  Issue Type: Bug
>  Components: Broker-J
>Affects Versions: qpid-java-6.0, qpid-java-6.0.1, qpid-java-6.0.2, 
> qpid-java-6.0.3, qpid-java-6.0.4, qpid-java-6.0.5, qpid-java-6.1, 
> qpid-java-6.0.6, qpid-java-6.1.1, qpid-java-6.1.2, qpid-java-6.0.7, 
> qpid-java-6.1.3, qpid-java-6.0.8, qpid-java-6.1.4, qpid-java-broker-7.0.0, 
> qpid-java-6.1.5
>Reporter: Alex Rudyy
>Assignee: Keith Wall
>Priority: Critical
> Fix For: qpid-java-broker-7.0.1, qpid-java-broker-7.1.0
>
> Attachments: 
> 0001-QPID-8066-Broker-J-Remove-all-children-records-recur.patch, 
> QPID-8066.tar.bz2
>
>
> Virtual host logger rules are left over in configuration store after deletion 
> of virtual host logger on provided virtual host. On restart of VHN or Broker, 
> virtual host recovery fails with IllegalArgumentException as the one below:
> {noformat}
> java.lang.IllegalArgumentException: Recovered configured object record 
> BDBConfiguredObjectRecord [id=8e9c5547-c41b-4443-9333-48dac61f3b40, 
> type=VirtualHostLogInclusionRule, name=test, parents={}] has no recorded 
> parents and is not a valid child type [[interface 
> org.apache.qpid.server.model.VirtualHost, interface 
> org.apache.qpid.server.model.RemoteReplicationNode]] for the root 
> BDBVirtualHostNodeImplWithAccessChecking 
> [id=591aa6d9-c2e0-474c-a0a9-86eb14bc3c6a, name=bdb, 
> storePath=/home/alex/.qpid-7.1.0-SNAPSHOT/bdb/config]
> at 
> org.apache.qpid.server.store.GenericRecoverer.resolveDiscontinuity(GenericRecoverer.java:119)
> at 
> org.apache.qpid.server.store.GenericRecoverer.performRecover(GenericRecoverer.java:90)
> at 
> org.apache.qpid.server.store.GenericRecoverer.access$000(GenericRecoverer.java:41)
> at 
> org.apache.qpid.server.store.GenericRecoverer$1.execute(GenericRecoverer.java:59)
> at 
> org.apache.qpid.server.store.GenericRecoverer$1.execute(GenericRecoverer.java:55)
> at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl$TaskLoggingWrapper.execute(TaskExecutorImpl.java:248)
> at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl.submitWrappedTask(TaskExecutorImpl.java:165)
> at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl.run(TaskExecutorImpl.java:190)
> at 
> org.apache.qpid.server.store.GenericRecoverer.recover(GenericRecoverer.java:54)
> at 
> org.apache.qpid.server.store.VirtualHostStoreUpgraderAndRecoverer.recover(VirtualHostStoreUpgraderAndRecoverer.java:1085)
> at 
> org.apache.qpid.server.store.VirtualHostStoreUpgraderAndRecoverer.upgradeAndRecover(VirtualHostStoreUpgraderAndRecoverer.java:1058)
> at 
> org.apache.qpid.server.virtualhostnode.AbstractStandardVirtualHostNode.activate(AbstractStandardVirtualHostNode.java:91)
> at 
> org.apache.qpid.server.virtualhostnode.AbstractVirtualHostNode.doActivate(AbstractVirtualHostNode.java:162)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject.attainState(AbstractConfiguredObject.java:1524)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject.attainState(AbstractConfiguredObject.java:1503)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject$8.onSuccess(AbstractConfiguredObject.java:1070)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject$8.onSuccess(AbstractConfiguredObject.java:1064)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject$22$1.run(AbstractConfiguredObject.java:2639)
> at 
> 

[jira] [Commented] (QPID-8066) [Broker-J] Virtual host logger rules are left over in configuration store after deletion of virtual host logger on provided virtual host causing virtualhost restart fail

2018-01-30 Thread Keith Wall (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-8066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16344958#comment-16344958
 ] 

Keith Wall commented on QPID-8066:
--

Alex, I incorporated the changes we agreed following the review into 
[96a4e13|https://git-wip-us.apache.org/repos/asf?p=qpid-broker-j.git;h=96a4e13].

> [Broker-J] Virtual host logger rules are left over in configuration store 
> after deletion of virtual host logger on provided virtual host causing 
> virtualhost restart failure
> 
>
> Key: QPID-8066
> URL: https://issues.apache.org/jira/browse/QPID-8066
> Project: Qpid
>  Issue Type: Bug
>  Components: Broker-J
>Affects Versions: qpid-java-6.0, qpid-java-6.0.1, qpid-java-6.0.2, 
> qpid-java-6.0.3, qpid-java-6.0.4, qpid-java-6.0.5, qpid-java-6.1, 
> qpid-java-6.0.6, qpid-java-6.1.1, qpid-java-6.1.2, qpid-java-6.0.7, 
> qpid-java-6.1.3, qpid-java-6.0.8, qpid-java-6.1.4, qpid-java-broker-7.0.0, 
> qpid-java-6.1.5
>Reporter: Alex Rudyy
>Assignee: Keith Wall
>Priority: Critical
> Fix For: qpid-java-broker-7.0.1, qpid-java-broker-7.1.0
>
> Attachments: 
> 0001-QPID-8066-Broker-J-Remove-all-children-records-recur.patch, 
> QPID-8066.tar.bz2
>
>
> Virtual host logger rules are left over in configuration store after deletion 
> of virtual host logger on provided virtual host. On restart of VHN or Broker, 
> virtual host recovery fails with IllegalArgumentException as the one below:
> {noformat}
> java.lang.IllegalArgumentException: Recovered configured object record 
> BDBConfiguredObjectRecord [id=8e9c5547-c41b-4443-9333-48dac61f3b40, 
> type=VirtualHostLogInclusionRule, name=test, parents={}] has no recorded 
> parents and is not a valid child type [[interface 
> org.apache.qpid.server.model.VirtualHost, interface 
> org.apache.qpid.server.model.RemoteReplicationNode]] for the root 
> BDBVirtualHostNodeImplWithAccessChecking 
> [id=591aa6d9-c2e0-474c-a0a9-86eb14bc3c6a, name=bdb, 
> storePath=/home/alex/.qpid-7.1.0-SNAPSHOT/bdb/config]
> at 
> org.apache.qpid.server.store.GenericRecoverer.resolveDiscontinuity(GenericRecoverer.java:119)
> at 
> org.apache.qpid.server.store.GenericRecoverer.performRecover(GenericRecoverer.java:90)
> at 
> org.apache.qpid.server.store.GenericRecoverer.access$000(GenericRecoverer.java:41)
> at 
> org.apache.qpid.server.store.GenericRecoverer$1.execute(GenericRecoverer.java:59)
> at 
> org.apache.qpid.server.store.GenericRecoverer$1.execute(GenericRecoverer.java:55)
> at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl$TaskLoggingWrapper.execute(TaskExecutorImpl.java:248)
> at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl.submitWrappedTask(TaskExecutorImpl.java:165)
> at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl.run(TaskExecutorImpl.java:190)
> at 
> org.apache.qpid.server.store.GenericRecoverer.recover(GenericRecoverer.java:54)
> at 
> org.apache.qpid.server.store.VirtualHostStoreUpgraderAndRecoverer.recover(VirtualHostStoreUpgraderAndRecoverer.java:1085)
> at 
> org.apache.qpid.server.store.VirtualHostStoreUpgraderAndRecoverer.upgradeAndRecover(VirtualHostStoreUpgraderAndRecoverer.java:1058)
> at 
> org.apache.qpid.server.virtualhostnode.AbstractStandardVirtualHostNode.activate(AbstractStandardVirtualHostNode.java:91)
> at 
> org.apache.qpid.server.virtualhostnode.AbstractVirtualHostNode.doActivate(AbstractVirtualHostNode.java:162)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject.attainState(AbstractConfiguredObject.java:1524)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject.attainState(AbstractConfiguredObject.java:1503)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject$8.onSuccess(AbstractConfiguredObject.java:1070)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject$8.onSuccess(AbstractConfiguredObject.java:1064)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject$22$1.run(AbstractConfiguredObject.java:2639)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject$22$1.run(AbstractConfiguredObject.java:2635)
> at java.security.AccessController.doPrivileged(Native Method)
> at 

[jira] [Commented] (QPID-8066) [Broker-J] Virtual host logger rules are left over in configuration store after deletion of virtual host logger on provided virtual host causing virtualhost restart fail

2018-01-30 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-8066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16344954#comment-16344954
 ] 

ASF subversion and git services commented on QPID-8066:
---

Commit 96a4e13194095ba5cf08e1b8f886afb6c8b0adf2 in qpid-broker-j's branch 
refs/heads/master from [~k-wall]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-broker-j.git;h=96a4e13 ]

QPID-8066: [Model] Refactor object delete so that an object's children delete 
themselves too


> [Broker-J] Virtual host logger rules are left over in configuration store 
> after deletion of virtual host logger on provided virtual host causing 
> virtualhost restart failure
> 
>
> Key: QPID-8066
> URL: https://issues.apache.org/jira/browse/QPID-8066
> Project: Qpid
>  Issue Type: Bug
>  Components: Broker-J
>Affects Versions: qpid-java-6.0, qpid-java-6.0.1, qpid-java-6.0.2, 
> qpid-java-6.0.3, qpid-java-6.0.4, qpid-java-6.0.5, qpid-java-6.1, 
> qpid-java-6.0.6, qpid-java-6.1.1, qpid-java-6.1.2, qpid-java-6.0.7, 
> qpid-java-6.1.3, qpid-java-6.0.8, qpid-java-6.1.4, qpid-java-broker-7.0.0, 
> qpid-java-6.1.5
>Reporter: Alex Rudyy
>Assignee: Keith Wall
>Priority: Critical
> Fix For: qpid-java-broker-7.0.1, qpid-java-broker-7.1.0
>
> Attachments: 
> 0001-QPID-8066-Broker-J-Remove-all-children-records-recur.patch, 
> QPID-8066.tar.bz2
>
>
> Virtual host logger rules are left over in configuration store after deletion 
> of virtual host logger on provided virtual host. On restart of VHN or Broker, 
> virtual host recovery fails with IllegalArgumentException as the one below:
> {noformat}
> java.lang.IllegalArgumentException: Recovered configured object record 
> BDBConfiguredObjectRecord [id=8e9c5547-c41b-4443-9333-48dac61f3b40, 
> type=VirtualHostLogInclusionRule, name=test, parents={}] has no recorded 
> parents and is not a valid child type [[interface 
> org.apache.qpid.server.model.VirtualHost, interface 
> org.apache.qpid.server.model.RemoteReplicationNode]] for the root 
> BDBVirtualHostNodeImplWithAccessChecking 
> [id=591aa6d9-c2e0-474c-a0a9-86eb14bc3c6a, name=bdb, 
> storePath=/home/alex/.qpid-7.1.0-SNAPSHOT/bdb/config]
> at 
> org.apache.qpid.server.store.GenericRecoverer.resolveDiscontinuity(GenericRecoverer.java:119)
> at 
> org.apache.qpid.server.store.GenericRecoverer.performRecover(GenericRecoverer.java:90)
> at 
> org.apache.qpid.server.store.GenericRecoverer.access$000(GenericRecoverer.java:41)
> at 
> org.apache.qpid.server.store.GenericRecoverer$1.execute(GenericRecoverer.java:59)
> at 
> org.apache.qpid.server.store.GenericRecoverer$1.execute(GenericRecoverer.java:55)
> at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl$TaskLoggingWrapper.execute(TaskExecutorImpl.java:248)
> at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl.submitWrappedTask(TaskExecutorImpl.java:165)
> at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl.run(TaskExecutorImpl.java:190)
> at 
> org.apache.qpid.server.store.GenericRecoverer.recover(GenericRecoverer.java:54)
> at 
> org.apache.qpid.server.store.VirtualHostStoreUpgraderAndRecoverer.recover(VirtualHostStoreUpgraderAndRecoverer.java:1085)
> at 
> org.apache.qpid.server.store.VirtualHostStoreUpgraderAndRecoverer.upgradeAndRecover(VirtualHostStoreUpgraderAndRecoverer.java:1058)
> at 
> org.apache.qpid.server.virtualhostnode.AbstractStandardVirtualHostNode.activate(AbstractStandardVirtualHostNode.java:91)
> at 
> org.apache.qpid.server.virtualhostnode.AbstractVirtualHostNode.doActivate(AbstractVirtualHostNode.java:162)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject.attainState(AbstractConfiguredObject.java:1524)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject.attainState(AbstractConfiguredObject.java:1503)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject$8.onSuccess(AbstractConfiguredObject.java:1070)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject$8.onSuccess(AbstractConfiguredObject.java:1064)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject$22$1.run(AbstractConfiguredObject.java:2639)
> at 
> 

[jira] [Commented] (QPID-8066) [Broker-J] Virtual host logger rules are left over in configuration store after deletion of virtual host logger on provided virtual host causing virtualhost restart fail

2018-01-26 Thread Alex Rudyy (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-8066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16340908#comment-16340908
 ] 

Alex Rudyy commented on QPID-8066:
--

Keith,
I reviewed the changes in the attached patch.
In general I believe that proposed changes is a move in right direction. It 
looks like the changes prepare the ground for QPID-7197. Also, they address 
partially QPID-7547 which might be closed after committing the patch.
Here are my review comments
* BDBHAVirtualHostNodeImpl
** {{_helpers} field itself and setting of {{_helper}} field in 
{{beforeDelete}} does not look necessary to me. It seems that local variable in 
{{onDelete}} can be introduced for this purpose.
** Flag {{_isClosed}} is set on both deletion and close. Would it be better to 
rename the flag into {{_isClosingOrDeleting}} to reflect that it can be set 
from both operations?
** {{#removeRemoteReplicationNode}} invokes {{deleteAsync}}.  I think that 
{{deleteNoChecks}} should be called instead off {{deleteAsync}} in order to 
avoid unnecessary authorization checks.
** In {{onDelete}} of BDB HA VHN its VH is get closed. We discussed that before 
and you implemented exactly what we discussed. Though, after reviewing the 
changes, it looks more logical to me to close all direct children of CO with 
{{managesChildStorage=true}} in {{AbstractConfiguredObject#deleteChildren}}. 
Thus, no call to close the children would be required in the implementation of 
{{onDelete}}.
* AbstractExchange
** {{#onDelete}}; why performDelete is called only on condition {{getState() != 
State.UNINITIALIZED}}? It seems to me that this condition need to be removed 
otherwise a reference to _alternateBindingDestination will not removed and 
binding count statistics on queues will not be updated.
* AmqpPortImpl
** {{_closing}}; is set on deletion and close. Would it be better to rename the 
flag into {{_isClosingOrDeleting}} to reflect that it can be set from both 
operations?
* AbstractConfiguredObject
** In {{deleteChildren}} when {{managesChildStorage=true}}, the immediate 
future is returned. Would it be better to close the children and return close 
future? Though, it is not required now, but taking that it is a generic code, 
potentially, on close some system resources can be cleaned up. At the moment, 
COs managing children close the children by themselves in {{doDelete}} which 
looks to me like a duplication of code.
** {{CreateExceptionHandler#handleException}} invokes {{deleteAsync}}. IMHO, it 
should call {{deleteNoChecks}} in order to avoid making unnecessary 
authorization checks.
** when child is not instance AbstractConfiguredObject or 
AbstractConfiguredObjectProxy, it seems it will not be deleted. It does not 
look like a problem at the moment, but, it points to the potential gap in a 
public API of {{ConfiguredObject}} interface. We might need a public method to 
perform the delete checks.
* AbstractQueue
** {{_deleteQueueDepthFuture}} is set twice: once prematurely at the beigining 
of {{#performDelete}} and second time at the end  of {{#performDelete}}
** Method {{deleteAndReturnCountAsync}} calls {{deleteAsync}}. It seems it 
should call {{deleteNoCheck}} as authorization and checks are done in 
{{deleteAndReturnCountAsync}}.
* QueueConsumerImpl
** {{deleteAsync}} is invoked from {{onClose}}. As result authorization check 
would be performed which is not really necessary. Would it be better to call 
{{deleteNoChecks}} instead of {{deleteAsync}}
* AbstractAuthenticationManager
** Method {{performDelete}} can be inlined.
* Immediate future is created explicitly in {{doDelete}}. Would it be better to 
call {{super.doDelete()}} for consistency reasons?
* AbstractKeyStore
** Method {{deleteIfNotInUse}} is not used and can be safely removed.
** Method {{doDelete}} can call and return {{super.doDelete}} instead of 
creation of intermediate future
* AbstractTrustStore
** Immediate future is created explicitly in {{doDelete}}. Would it be better 
to call {{super.doDelete()}} for consistency?
* AbstractAMQPSession
** Immediate future is created explicitly in {{doDelete}}. Would it be better 
to call {{super.doDelete()}} for consistency?
** Task {{_deleteModelTask}} calls {{deleteAsync}}. IMHO, it should call 
{{deleteNoChecks}} to avoid unnecessary authorization and checks.
* PrincipalDatabaseAuthenticationManager
** In method {{addChildAsync}} on {{RuntimeException}} the user is deleted 
asynchronously by calling {{principalAdapter.deleteAsync();}}. IMHO, 
{{deleteNoChecks}} should be called instead to avoid no necessary auth checks.



> [Broker-J] Virtual host logger rules are left over in configuration store 
> after deletion of virtual host logger on provided virtual host causing 
> virtualhost restart failure
> 

[jira] [Commented] (QPID-8066) [Broker-J] Virtual host logger rules are left over in configuration store after deletion of virtual host logger on provided virtual host causing virtualhost restart fail

2018-01-24 Thread Keith Wall (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-8066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16337659#comment-16337659
 ] 

Keith Wall commented on QPID-8066:
--

I think the nub of the problem is that when deleting an object, the child 
objects never know that they are being deleted.  This means that the child's 
listeners aren't fired, so the store never hears about the change.

I attach a patch that changes how delete works.  When deleting an object, after 
the operation has passed the authorisation/validation checks, now propagates 
the delete, depth first, to all child objects until a store-discontinuity is 
encountered in the tree.    The child deletes proceed without an additional 
authorisation and validation checks.  To me having the authorisation to delete 
a parent confers rights to delete the children. 

The reason for pruning at the discontinuity is because the object encountered 
at the discontinuity is responsible for storage of the children beneath.  As 
this object is about to be deleted and the child-storage will go too.  If we 
were to traverse into the children beyond the discontinuity we would generate a 
stream of unnecessary deletes that the child storage would need to handle 
needlessly.

The patch gets rid of the {{deleted()/setState(DELETED)}}  idiom we had 
scattered about the code.  This is now centralised within ACO.  {{deleted()}} 
is now private too.

I have *tentatively* removed support for delete state listener methods.  Delete 
actions are now in first class methods {{beforeDelete()}} and 
{{onDelete()}}following the beforeClose/onClose() pattern.  I *think* the 
general feeling was that the state change listener method were a bad idea - 
fragile in class hierarchies and hard to work with in the IDE, so I see this as 
a step towards their elimination.

Finally VHN delete needed some special casing to deal with the fact that there 
might be message storage associated with the VirtualHost child.  Without the 
special casing the storage wouldn't disappear.  I did try a few things to get 
rid of this wrinkle, but they ended up more obscure than what I have now. Given 
there are only two cases, I think this is acceptable.

 

 

 

 

   

> [Broker-J] Virtual host logger rules are left over in configuration store 
> after deletion of virtual host logger on provided virtual host causing 
> virtualhost restart failure
> 
>
> Key: QPID-8066
> URL: https://issues.apache.org/jira/browse/QPID-8066
> Project: Qpid
>  Issue Type: Bug
>  Components: Broker-J
>Affects Versions: qpid-java-6.0, qpid-java-6.0.1, qpid-java-6.0.2, 
> qpid-java-6.0.3, qpid-java-6.0.4, qpid-java-6.0.5, qpid-java-6.1, 
> qpid-java-6.0.6, qpid-java-6.1.1, qpid-java-6.1.2, qpid-java-6.0.7, 
> qpid-java-6.1.3, qpid-java-6.0.8, qpid-java-6.1.4, qpid-java-broker-7.0.0, 
> qpid-java-6.1.5
>Reporter: Alex Rudyy
>Assignee: Keith Wall
>Priority: Critical
> Fix For: qpid-java-broker-7.0.1, qpid-java-broker-7.1.0
>
> Attachments: 
> 0001-QPID-8066-Broker-J-Remove-all-children-records-recur.patch, 
> QPID-8066.tar.bz2
>
>
> Virtual host logger rules are left over in configuration store after deletion 
> of virtual host logger on provided virtual host. On restart of VHN or Broker, 
> virtual host recovery fails with IllegalArgumentException as the one below:
> {noformat}
> java.lang.IllegalArgumentException: Recovered configured object record 
> BDBConfiguredObjectRecord [id=8e9c5547-c41b-4443-9333-48dac61f3b40, 
> type=VirtualHostLogInclusionRule, name=test, parents={}] has no recorded 
> parents and is not a valid child type [[interface 
> org.apache.qpid.server.model.VirtualHost, interface 
> org.apache.qpid.server.model.RemoteReplicationNode]] for the root 
> BDBVirtualHostNodeImplWithAccessChecking 
> [id=591aa6d9-c2e0-474c-a0a9-86eb14bc3c6a, name=bdb, 
> storePath=/home/alex/.qpid-7.1.0-SNAPSHOT/bdb/config]
> at 
> org.apache.qpid.server.store.GenericRecoverer.resolveDiscontinuity(GenericRecoverer.java:119)
> at 
> org.apache.qpid.server.store.GenericRecoverer.performRecover(GenericRecoverer.java:90)
> at 
> org.apache.qpid.server.store.GenericRecoverer.access$000(GenericRecoverer.java:41)
> at 
> org.apache.qpid.server.store.GenericRecoverer$1.execute(GenericRecoverer.java:59)
> at 
> org.apache.qpid.server.store.GenericRecoverer$1.execute(GenericRecoverer.java:55)
> at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl$TaskLoggingWrapper.execute(TaskExecutorImpl.java:248)
> at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl.submitWrappedTask(TaskExecutorImpl.java:165)
> 

[jira] [Commented] (QPID-8066) [Broker-J] Virtual host logger rules are left over in configuration store after deletion of virtual host logger on provided virtual host

2018-01-19 Thread Alex Rudyy (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-8066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16332883#comment-16332883
 ] 

Alex Rudyy commented on QPID-8066:
--

Attached a tactical patch to remove all children records on removal of an entry 
for the configured object.

> [Broker-J] Virtual host logger rules are left over in configuration store 
> after deletion of virtual host logger on provided virtual host
> 
>
> Key: QPID-8066
> URL: https://issues.apache.org/jira/browse/QPID-8066
> Project: Qpid
>  Issue Type: Bug
>  Components: Broker-J
>Affects Versions: qpid-java-6.0, qpid-java-6.0.1, qpid-java-6.0.2, 
> qpid-java-6.0.3, qpid-java-6.0.4, qpid-java-6.0.5, qpid-java-6.1, 
> qpid-java-6.0.6, qpid-java-6.1.1, qpid-java-6.1.2, qpid-java-6.0.7, 
> qpid-java-6.1.3, qpid-java-6.0.8, qpid-java-6.1.4, qpid-java-broker-7.0.0, 
> qpid-java-6.1.5
>Reporter: Alex Rudyy
>Priority: Critical
> Fix For: qpid-java-broker-7.0.1, qpid-java-broker-7.1.0
>
> Attachments: 
> 0001-QPID-8066-Broker-J-Remove-all-children-records-recur.patch
>
>
> Virtual host logger rules are left over in configuration store after deletion 
> of virtual host logger on provided virtual host. On restart of VHN or Broker, 
> virtual host recovery fails with IllegalArgumentException as the one below:
> {noformat}
> java.lang.IllegalArgumentException: Recovered configured object record 
> BDBConfiguredObjectRecord [id=8e9c5547-c41b-4443-9333-48dac61f3b40, 
> type=VirtualHostLogInclusionRule, name=test, parents={}] has no recorded 
> parents and is not a valid child type [[interface 
> org.apache.qpid.server.model.VirtualHost, interface 
> org.apache.qpid.server.model.RemoteReplicationNode]] for the root 
> BDBVirtualHostNodeImplWithAccessChecking 
> [id=591aa6d9-c2e0-474c-a0a9-86eb14bc3c6a, name=bdb, 
> storePath=/home/alex/.qpid-7.1.0-SNAPSHOT/bdb/config]
> at 
> org.apache.qpid.server.store.GenericRecoverer.resolveDiscontinuity(GenericRecoverer.java:119)
> at 
> org.apache.qpid.server.store.GenericRecoverer.performRecover(GenericRecoverer.java:90)
> at 
> org.apache.qpid.server.store.GenericRecoverer.access$000(GenericRecoverer.java:41)
> at 
> org.apache.qpid.server.store.GenericRecoverer$1.execute(GenericRecoverer.java:59)
> at 
> org.apache.qpid.server.store.GenericRecoverer$1.execute(GenericRecoverer.java:55)
> at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl$TaskLoggingWrapper.execute(TaskExecutorImpl.java:248)
> at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl.submitWrappedTask(TaskExecutorImpl.java:165)
> at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl.run(TaskExecutorImpl.java:190)
> at 
> org.apache.qpid.server.store.GenericRecoverer.recover(GenericRecoverer.java:54)
> at 
> org.apache.qpid.server.store.VirtualHostStoreUpgraderAndRecoverer.recover(VirtualHostStoreUpgraderAndRecoverer.java:1085)
> at 
> org.apache.qpid.server.store.VirtualHostStoreUpgraderAndRecoverer.upgradeAndRecover(VirtualHostStoreUpgraderAndRecoverer.java:1058)
> at 
> org.apache.qpid.server.virtualhostnode.AbstractStandardVirtualHostNode.activate(AbstractStandardVirtualHostNode.java:91)
> at 
> org.apache.qpid.server.virtualhostnode.AbstractVirtualHostNode.doActivate(AbstractVirtualHostNode.java:162)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject.attainState(AbstractConfiguredObject.java:1524)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject.attainState(AbstractConfiguredObject.java:1503)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject$8.onSuccess(AbstractConfiguredObject.java:1070)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject$8.onSuccess(AbstractConfiguredObject.java:1064)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject$22$1.run(AbstractConfiguredObject.java:2639)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject$22$1.run(AbstractConfiguredObject.java:2635)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:360)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject$22.onSuccess(AbstractConfiguredObject.java:2634)
> at 
> 

[jira] [Commented] (QPID-8066) [Broker-J] Virtual host logger rules are left over in configuration store after deletion of virtual host logger on provided virtual host

2018-01-09 Thread Keith Wall (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-8066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16318648#comment-16318648
 ] 

Keith Wall commented on QPID-8066:
--

I'm guessing from the description that this wouldn't happen for a JSON 
configuration store, as that store is hierarchal in nature. Agree lets 
investigate with tentative fix for v7.0.1.

> [Broker-J] Virtual host logger rules are left over in configuration store 
> after deletion of virtual host logger on provided virtual host
> 
>
> Key: QPID-8066
> URL: https://issues.apache.org/jira/browse/QPID-8066
> Project: Qpid
>  Issue Type: Bug
>  Components: Broker-J
>Affects Versions: qpid-java-6.0, qpid-java-6.0.1, qpid-java-6.0.2, 
> qpid-java-6.0.3, qpid-java-6.0.4, qpid-java-6.0.5, qpid-java-6.1, 
> qpid-java-6.0.6, qpid-java-6.1.1, qpid-java-6.1.2, qpid-java-6.0.7, 
> qpid-java-6.1.3, qpid-java-6.0.8, qpid-java-6.1.4, qpid-java-broker-7.0.0, 
> qpid-java-6.1.5
>Reporter: Alex Rudyy
>Priority: Critical
> Fix For: qpid-java-broker-7.0.1, qpid-java-broker-7.1.0
>
>
> Virtual host logger rules are left over in configuration store after deletion 
> of virtual host logger on provided virtual host. On restart of VHN or Broker, 
> virtual host recovery fails with IllegalArgumentException as the one below:
> {noformat}
> java.lang.IllegalArgumentException: Recovered configured object record 
> BDBConfiguredObjectRecord [id=8e9c5547-c41b-4443-9333-48dac61f3b40, 
> type=VirtualHostLogInclusionRule, name=test, parents={}] has no recorded 
> parents and is not a valid child type [[interface 
> org.apache.qpid.server.model.VirtualHost, interface 
> org.apache.qpid.server.model.RemoteReplicationNode]] for the root 
> BDBVirtualHostNodeImplWithAccessChecking 
> [id=591aa6d9-c2e0-474c-a0a9-86eb14bc3c6a, name=bdb, 
> storePath=/home/alex/.qpid-7.1.0-SNAPSHOT/bdb/config]
> at 
> org.apache.qpid.server.store.GenericRecoverer.resolveDiscontinuity(GenericRecoverer.java:119)
> at 
> org.apache.qpid.server.store.GenericRecoverer.performRecover(GenericRecoverer.java:90)
> at 
> org.apache.qpid.server.store.GenericRecoverer.access$000(GenericRecoverer.java:41)
> at 
> org.apache.qpid.server.store.GenericRecoverer$1.execute(GenericRecoverer.java:59)
> at 
> org.apache.qpid.server.store.GenericRecoverer$1.execute(GenericRecoverer.java:55)
> at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl$TaskLoggingWrapper.execute(TaskExecutorImpl.java:248)
> at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl.submitWrappedTask(TaskExecutorImpl.java:165)
> at 
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl.run(TaskExecutorImpl.java:190)
> at 
> org.apache.qpid.server.store.GenericRecoverer.recover(GenericRecoverer.java:54)
> at 
> org.apache.qpid.server.store.VirtualHostStoreUpgraderAndRecoverer.recover(VirtualHostStoreUpgraderAndRecoverer.java:1085)
> at 
> org.apache.qpid.server.store.VirtualHostStoreUpgraderAndRecoverer.upgradeAndRecover(VirtualHostStoreUpgraderAndRecoverer.java:1058)
> at 
> org.apache.qpid.server.virtualhostnode.AbstractStandardVirtualHostNode.activate(AbstractStandardVirtualHostNode.java:91)
> at 
> org.apache.qpid.server.virtualhostnode.AbstractVirtualHostNode.doActivate(AbstractVirtualHostNode.java:162)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject.attainState(AbstractConfiguredObject.java:1524)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject.attainState(AbstractConfiguredObject.java:1503)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject$8.onSuccess(AbstractConfiguredObject.java:1070)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject$8.onSuccess(AbstractConfiguredObject.java:1064)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject$22$1.run(AbstractConfiguredObject.java:2639)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject$22$1.run(AbstractConfiguredObject.java:2635)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:360)
> at 
> org.apache.qpid.server.model.AbstractConfiguredObject$22.onSuccess(AbstractConfiguredObject.java:2634)
> at 
>