Buggy code:
, new Class [ ] { Database . class } ) ; } } else { assert false : ( "Invalid<seq2seq4repair_space>key<seq2seq4repair_space>'" + key ) + "'" ; } } } if ( ( this . params . containsKey ( ArgumentsParser . PARAM_MAPPINGS ) ) && ( ( ArgumentsParser . DISABLE_UPDATE_CATALOG ) == false ) ) { assert ( this . catalog_db ) != null ; File path = new File ( this . params . get ( ArgumentsParser . PARAM_MAPPINGS ) ) ; if ( path . exists ( ) ) { this . param_mappings . load ( path , this . catalog_db ) ; } else { ArgumentsParser . LOG . warn ( ( ( "The<seq2seq4repair_space>ParameterMappings<seq2seq4repair_space>file<seq2seq4repair_space>'" + path ) + "'<seq2seq4repair_space>does<seq2seq4repair_space>not<seq2seq4repair_space>exist" ) ) ; } } if ( this . params . containsKey ( ArgumentsParser . PARAM_MARKOV_THRESHOLDS_VALUE ) ) { assert ( this . catalog_db ) != null ; float defaultValue = this . getDoubleParam ( ArgumentsParser . PARAM_MARKOV_THRESHOLDS_VALUE ) . floatValue ( ) ; this . thresholds = new EstimationThresholds ( defaultValue ) ; this . params . put ( ArgumentsParser . PARAM_MARKOV_THRESHOLDS , this . thresholds . toString ( ) ) ; ArgumentsParser . LOG . debug ( ( "CREATED<seq2seq4repair_space>THRESHOLDS:<seq2seq4repair_space>" + ( this . thresholds ) ) ) ; } else if ( this . params . containsKey ( ArgumentsParser . PARAM_MARKOV_THRESHOLDS ) ) { assert ( this . catalog_db ) != null ; this . thresholds = new EstimationThresholds ( ) ; File path = new File ( this . params . get ( ArgumentsParser . PARAM_MARKOV_THRESHOLDS ) ) ; if ( path . exists ( ) ) { this . thresholds . load ( path , this . catalog_db ) ; } else { ArgumentsParser . LOG . warn ( ( ( "The<seq2seq4repair_space>estimation<seq2seq4repair_space>thresholds<seq2seq4repair_space>file<seq2seq4repair_space>'" + path ) + "'<seq2seq4repair_space>does<seq2seq4repair_space>not<seq2seq4repair_space>exist" ) ) ; } ArgumentsParser . LOG . debug ( ( "LOADED<seq2seq4repair_space>THRESHOLDS:<seq2seq4repair_space>" + ( this . thresholds ) ) ) ; } if ( ( this . catalog ) != null ) { if ( this . params . containsKey ( ArgumentsParser . PARAM_HASHER_CLASS ) ) { String hasherClassName = this . params . get ( ArgumentsParser . PARAM_HASHER_CLASS ) ; this . hasher_class = ( ( Class < ? extends AbstractHasher > ) ( loader . loadClass ( hasherClassName ) ) ) ; } Class < ? > [ ] paramClasses = new Class [ ] { CatalogContext . class , int . class } ; Object [ ] paramValues = new Object [ ] { this . catalogContext , this . catalogContext . numberOfPartitions } ; Constructor < ? extends AbstractHasher > constructor = this . hasher_class . getConstructor ( paramClasses ) ; this . hasher = constructor . newInstance ( paramValues ) ; if ( ! ( ( this . hasher ) instanceof DefaultHasher ) ) ArgumentsParser . LOG . debug ( ( "Loaded<seq2seq4repair_space>hasher<seq2seq4repair_space>" + ( this . hasher . getClass ( ) ) ) ) ; if ( this . params . containsKey ( ArgumentsParser . PARAM_HASHER_PROFILE ) ) { this . hasher . load ( this . getFileParam ( ArgumentsParser . PARAM_HASHER_PROFILE ) , null ) ; } } if ( this . params . containsKey ( ArgumentsParser . PARAM_ELASTIC_MONITORING_TIME ) ) { Controller . MONITORING_TIME = Integer . parseInt ( this . params . get ( ArgumentsParser . PARAM_ELASTIC_MONITORING_TIME ) ) ; } if ( this . params . containsKey ( ArgumentsParser . PARAM_ELASTIC_MIN_LOAD ) ) { GraphPartitioner . MIN_LOAD_PER_PART = Integer . parseInt ( this . params . get ( ArgumentsParser . PARAM_ELASTIC_MIN_LOAD ) ) ; } if ( this . params . containsKey ( ArgumentsParser . PARAM_ELASTIC_MAX_LOAD ) ) { GraphPartitioner . MAX_LOAD_PER_PART = Integer . parseInt ( this . params . get ( ArgumentsParser . PARAM_ELASTIC_MAX_LOAD ) ) ; } if ( this . params . containsKey ( ArgumentsParser . PARAM_ELASTIC_DTXN_COST ) ) { GraphPartitioner . DTXN_COST = Double . parseDouble ( this . params . get ( ArgumentsParser . PARAM_ELASTIC_DTXN_COST ) ) ; } if ( this . params . containsKey ( ArgumentsParser . PARAM_ELASTIC_LMPT_COST ) ) { GraphPartitioner . LMPT_COST = Double . parseDouble ( this . params . get ( ArgumentsParser . PARAM_ELASTIC_LMPT_COST ) ) ; } if ( this . params . containsKey ( ArgumentsParser . PARAM_ELASTIC_MIN_GAIN_MOVE ) ) { GraphPartitioner . MIN_GAIN_MOVE = Integer . parseInt ( this . params . get ( ArgumentsParser . PARAM_ELASTIC_MIN_GAIN_MOVE ) ) ; } if ( this . params . containsKey ( ArgumentsParser . PARAM_ELASTIC_MAX_TUPLE_MOVE ) ) { <START_BUG> GraphPartitioner . MIN_GAIN_MOVE = Integer . parseInt ( this . params . get ( ArgumentsParser . PARAM_ELASTIC_MAX_TUPLE_MOVE ) ) ; <END_BUG> } if ( this . params . containsKey ( ArgumentsParser . PARAM_ELASTIC_MAX_PARTITIONS_ADDED ) ) { GraphPartitioner . MAX_PARTITIONS_ADDED = Integer . parseInt ( this . params . get ( ArgumentsParser . PARAM_ELASTIC_MAX_PARTITIONS_ADDED ) ) ; } if ( this . params . containsKey ( ArgumentsParser . PARAM_ELASTIC_RUN_MONITORING ) ) { Controller . RUN_MONITORING = Boolean . parseBoolean ( this . params . get ( ArgumentsParser . PARAM_ELASTIC_RUN_MONITORING ) ) ; } if ( this . params . containsKey ( ArgumentsParser . PARAM_ELASTIC_UPDATE_PLAN ) ) { Controller . UPDATE_PLAN = Boolean . parseBoolean ( this . params . get ( ArgumentsParser . PARAM_ELASTIC_UPDATE_PLAN ) ) ; } if ( this . params . containsKey ( ArgumentsParser . PARAM_ELASTIC_EXEC_RECONF ) ) { Controller . EXEC_RECONF = Boolean . parseBoolean ( this . params . get ( ArgumentsParser . PARAM_ELASTIC_EXEC_RECONF ) ) ; } if ( this . params . containsKey ( ArgumentsParser . PARAM_ELASTIC_PLAN_IN ) ) { Controller . PLAN_IN = this . params . get ( ArgumentsParser . PARAM_ELASTIC_PLAN_IN ) ; } if ( this . params . containsKey ( ArgumentsParser . PARAM_ELASTIC_PLAN_OUT ) ) { Controller . PLAN_OUT = this . params . get ( ArgumentsParser . PARAM_ELASTIC_PLAN_OUT ) ; } this . loadWorkload ( ) ; } @ Override public String toString ( ) { } }

Fix:
GraphPartitioner . MAX_MOVED_TUPLES_PER_PART = Integer . parseInt ( this . params . get ( ArgumentsParser . PARAM_ELASTIC_MAX_TUPLE_MOVE ) ) ;