[CONTROLLER-1694] unsubscribe-dtcl fails with NullPointerException when UnreachableMember happens Created: 22/May/17 Updated: 25/Jul/23 Resolved: 29/May/17 |
|
| Status: | Resolved |
| Project: | controller |
| Component/s: | clustering |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | Vratko Polak | Assignee: | Unassigned |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: All |
||
| External issue ID: | 8525 |
| Description |
|
This happens in test with module-based shard, tell-based protocol. A listener is registered (on a member which is not leader). There is a transaction writer on each member, each finishes successfully [0]. The unscubscribe-dtcl call fails [1]: If the listener got zero notifications, the unsubscribe-dtcl should report that in a readable message. The clustering bug is in the fact the DTC notifications were lost (or the NPE happened for some other reason). Be the way, the UnreachableMember seems to happen in every test with 3 writers/producers (with half million integer array created in the initial transaction). [0] https://logs.opendaylight.org/releng/jenkins092/controller-csit-3node-clustering-only-carbon/715/archives/log.html.gz#s1-s36-t3-k2-k15 |
| Comments |
| Comment by Vratko Polak [ 22/May/17 ] |
|
> module-based shard, tell-based protocol For prefix-based shards, unsubscribe-ddtl simply does not respond [2] within 30 seconds. Note that due to an error in the test, the removed replica is on the follower (where the listener is). Tests which remove the leader replica end up with [2] https://logs.opendaylight.org/releng/jenkins092/controller-csit-3node-clustering-only-carbon/715/archives/log.html.gz#s1-s38-t3-k2-k17-k2-k1-k4-k6 |
| Comment by Tomas Cere [ 22/May/17 ] |
|
(In reply to Vratko Polák from comment #1) Since unsubscribe-ddtl/dtcl does a read there needs to be the same timeout here as there is for the other transactions. The NPE in unsbuscribe-dtcl happened because the listener didnt receive any notifications. |
| Comment by Tomas Cere [ 22/May/17 ] |
|
https://git.opendaylight.org/gerrit/#/c/57621/ This patch only avoids the NPE from being reported. |
| Comment by Tomas Cere [ 24/May/17 ] |
|
https://git.opendaylight.org/gerrit/#/c/57763/ |