public synchronized void verifyShard ( TableDefinition tableDef , int shardNumber ) { assert tableDef != null ; assert tableDef . isSharded ( ) ; assert shardNumber > 0 ; Map < String , Map < Integer , Date > > tableMap = m_appShardMap . get ( tableDef . getAppDef ( ) . getAppName ( ) ) ; if ( tableMap != null ) { Map < Integer , Date > shardMap = tableMap . get ( tableDef . getTableName ( ) ) ; if ( shardMap != null ) { if ( shardMap . containsKey ( shardNumber ) ) { return ; } } } // Unknown app/table/shard number, so start it. Date shardDate = tableDef . computeShardStart ( shardNumber ) ; addShardStart ( tableDef , shardNumber , shardDate ) ; }
Verify that the shard with the given number has been registered for the given table . If it hasn t the shard s starting date is computed the shard is registered in the _shards row and the start date is cached .