private void addShardStart ( TableDefinition tableDef , int shardNumber , Date shardDate ) { SpiderTransaction spiderTran = new SpiderTransaction ( ) ; spiderTran . addShardStart ( tableDef , shardNumber , shardDate ) ; Tenant tenant = Tenant . getTenant ( tableDef ) ; DBTransaction dbTran = DBService . instance ( tenant ) . startTransaction ( ) ; spiderTran . applyUpdates ( dbTran ) ; DBService . instance ( tenant ) . commit ( dbTran ) ; synchronized ( this ) { cacheShardValue ( tableDef , shardNumber , shardDate ) ; } }
Create a local transaction to add the register the given shard then cache it .