[ 
https://issues.apache.org/jira/browse/HBASE-19433?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16280550#comment-16280550
 ] 

Ted Yu commented on HBASE-19433:
--------------------------------

bq. You try to run an IT with CM

Yes, I did.

bq. wanna pull this out and write a quick unit test
{code}
    String chosenPolicy = 
possiblePolicies[random.nextInt(possiblePolicies.length)];
{code}
The action chooses random policy - which may be the same as the current one.
I thought about adding test for ChangeSplitPolicyAction but haven't come up 
with plan on how not to change the randomness.

bq. we don't have any other instances of this in other Policies?

The only other occurrence I found is in IntegrationTestMTTR which is addressed 
in patch v2.

> ChangeSplitPolicyAction modifies an immutable HTableDescriptor
> --------------------------------------------------------------
>
>                 Key: HBASE-19433
>                 URL: https://issues.apache.org/jira/browse/HBASE-19433
>             Project: HBase
>          Issue Type: Bug
>          Components: integration tests
>            Reporter: Josh Elser
>            Assignee: Ted Yu
>            Priority: Critical
>             Fix For: 2.0.0-beta-1
>
>         Attachments: 19433.v1.txt, 19433.v2.txt
>
>
> {noformat}
> 2017-12-01 23:18:51,433 WARN  [ChaosMonkeyThread] policies.Policy: Exception 
> occurred during performing action: java.lang.UnsupportedOperationException: 
> HTableDescriptor is read-only
> at 
> org.apache.hadoop.hbase.client.ImmutableHTableDescriptor.getDelegateeForModification(ImmutableHTableDescriptor.java:59)
> at 
> org.apache.hadoop.hbase.HTableDescriptor.setRegionSplitPolicyClassName(HTableDescriptor.java:333)
> at 
> org.apache.hadoop.hbase.chaos.actions.ChangeSplitPolicyAction.perform(ChangeSplitPolicyAction.java:54)
> at 
> org.apache.hadoop.hbase.chaos.policies.PeriodicRandomActionPolicy.runOneIteration(PeriodicRandomActionPolicy.java:59)
> at 
> org.apache.hadoop.hbase.chaos.policies.PeriodicPolicy.run(PeriodicPolicy.java:41)
> at java.lang.Thread.run(Thread.java:745)
> {noformat}
> Found during some internal testing. Need to make sure this Action, in 
> addition to the other, don't fall into the trap of modifying the 
> TableDescriptor obtained from Admin.
> [~tedyu], want to take a stab at it?



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to