THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
Set the following properties in accumulo.properties:
manager.tablet.watcher.interval=15s tserver.ondemand.tablet.unloader.interval=1m table.custom.ondemand.unloader.inactivity.threshold.seconds=120
Run the following commands in the shell:
createtable test listtablets (1) insert a b c d (2) listtablets (3) sleep 240 (4) listtablets (5) addsplits f t -t test (6) listtablets (7) setavailability -t test -b a -e f -a UNHOSTED (8) setavailability -t test -b g -e t -a HOSTED (9) scan -t accumulo.metadata -c ~tab:availability (10) sleep 240 (11) listtablets (12) insert a b c d (13) insert g h i j (14) insert w x y z (15) listtablets(16) scan -t test (17) scan -t test -b g (18)
- tablet unassigned, in ondemand state
- causes tablet to be hosted
- confirm that tablet is hosted
- wait 2x inactivity timeout, tablet should be unassigned
- confirm that tablet is unassigned
- add splits f and t
- default tablet is hosted (to perform split), new tablets are unassigned
- set tablet availability to unhosted
- set tablet availability to hosted
- confirm availability set
- wait 2x inactivity timeout, default tablet should be unassigned
- confirm that only f->t tablet is assigned
- fails because tablet -INF-> f is set to an availability of UNHOSTED
- succeeds
- succeeds, causes tablet t->+INF to be hosted
- confirm that tablets f->t and t->+INF are hosted
- fails because tablet -INF-> f is set to an availability of UNHOSTED and an immediate scan was requested. (use -cl scan option to change)
- succeeds