[
https://issues.apache.org/jira/browse/HBASE-12989?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14313440#comment-14313440
]
Andrew Purtell commented on HBASE-12989:
----------------------------------------
+1
What do you think about deleting region_mover.rb and replacing it with a Java
tool implemented with attention paid to concurrency, now that multithreaded
operation has been introduced? It's practically Java already and we've already
had issues due to Ruby language level things like associative arrays not being
threadsafe.
> region_mover.rb unloadRegions method uses ArrayList concurrently resulting in
> errors
> ------------------------------------------------------------------------------------
>
> Key: HBASE-12989
> URL: https://issues.apache.org/jira/browse/HBASE-12989
> Project: HBase
> Issue Type: Bug
> Components: scripts
> Affects Versions: 0.98.10
> Reporter: Abhishek Singh Chouhan
> Assignee: Abhishek Singh Chouhan
> Priority: Minor
> Fix For: 2.0.0, 1.0.1, 1.1.0, 0.98.11
>
> Attachments: HBASE-12989.patch
>
>
> While working on HBASE-12822 ran into
> {quote}
> 15/02/04 13:16:44 [main] INFO reflect.GeneratedMethodAccessor35(?): Pool
> completed
> NoMethodError: undefined method `toByteArray' for nil:NilClass
> __for__ at region_mover.rb:270
> each at
> file:/home/sfdc/installed/bigdata-hbase__hbase.6_prod__9707645_Linux.x86_64.prod.runtime.bigdata-hbase_bigdata-hbase/hbase/hbase/lib/jruby-complete-1.6.8.jar!/builtin/java/java.util.rb:7
> writeFile at region_mover.rb:269
> unloadRegions at region_mover.rb:347
> (root) at region_mover.rb:501
> {quote}
> This is because
> movedRegions = java.util.ArrayList.new()
> is being used concurrently in unloadRegions.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)