[ https://issues.apache.org/jira/browse/CASSANDRA-4559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13450947#comment-13450947 ]
Brandon Williams commented on CASSANDRA-4559: --------------------------------------------- Every once in a long while you can see this exception: {{noformat}} ERROR 20:30:18,355 Exception in thread Thread[OptionalTasks:1,5,main] java.lang.NullPointerException at org.apache.cassandra.locator.TokenMetadata.removeFromRelocating(TokenMetadata.java:443) at org.apache.cassandra.service.StorageService$2.run(StorageService.java:1252) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) {{noformat} I suspect this is because we're using the same interval (RING_DELAY) and sometimes they coincide. We can just double the relocation removal. > implement token relocation > -------------------------- > > Key: CASSANDRA-4559 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4559 > Project: Cassandra > Issue Type: Sub-task > Components: Core, Tools > Affects Versions: 1.2.0 beta 1 > Reporter: Eric Evans > Assignee: Eric Evans > Labels: vnodes > Fix For: 1.2.0 beta 1 > > Attachments: 4559.txt > > > Whatever the specifics of a _shuffle_ (see CASSANDRA-4443), it will be > necessary to relocate a range from one node to another. > _Edit0: Linked in new patch containing tests._ > ---- > h3. Patches > ||Compare||Raw diff||Description|| > |[010_refactor_range_move|https://github.com/acunu/cassandra/compare/top-bases/p/4443/010_refactor_range_move...p/4443/010_refactor_range_move]|[010_refactor_range_move.patch|https://github.com/acunu/cassandra/compare/top-bases/p/4443/010_refactor_range_move...p/4443/010_refactor_range_move.diff]|No > Description| > |[020_calculate_pending|https://github.com/acunu/cassandra/compare/top-bases/p/4443/020_calculate_pending...p/4443/020_calculate_pending]|[020_calculate_pending.patch|https://github.com/acunu/cassandra/compare/top-bases/p/4443/020_calculate_pending...p/4443/020_calculate_pending.diff]|No > Description| > |[030_relocate_token|https://github.com/acunu/cassandra/compare/top-bases/p/4443/030_relocate_token...p/4443/030_relocate_token]|[030_relocate_token.patch|https://github.com/acunu/cassandra/compare/top-bases/p/4443/030_relocate_token...p/4443/030_relocate_token.diff]|No > Description| > |[040_tests|https://github.com/acunu/cassandra/compare/top-bases/p/4443/040_tests...p/4443/040_tests]|[040_tests.patch|https://github.com/acunu/cassandra/compare/top-bases/p/4443/040_tests...p/4443/040_tests.diff]|No > Description| > ---- > _Note: These are branches managed with TopGit. If you are applying the patch > output manually, you will either need to filter the TopGit metadata files > (i.e. {{wget -O - <url> | filterdiff -x*.topdeps -x*.topmsg | patch -p1}}), > or remove them afterward ({{rm .topmsg .topdeps}})._ -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira