sub putData { my ($event, $BENodeMap, $testID,$eventName, $obj) = @_; my $eventID = getValueFromPath($event, "ID"); my $eventName = uc(getValueFromPath($event, "Name")); { lock %eventStatus; if (exists $eventStatus{$testID."_".$eventID}) { print "Event ID \"$eventID\" is defined more than once in the test case $testID"; return 0; } $eventStatus{$testID."_".$eventID} = EVENT_START; } my @BENodes = getValuesFromPath($event ,"Node/ID"); my $port = getValueFromPath($event, "Settings/Port"); my $sigDataFile = getValueFromPath($event ,"data/file"); my $sigData = loadXMLFile($sigDataFile); my @dataNodes = getNodesFromPath($sigData, "/SigData/KVPair"); my @FakeFEObjects; foreach my $BENode (@BENodes) { my $ip = $BENodeMap->{$BENode}; my $obj1 = new FakeFEClient::FakeFEClient("192.168.106.57",9001,"1","default_encrypt1"); push @FakeFEObjects, $obj1; } my @failedKeys; my $s_bts= $obj->start_timestamp(); my @keys = getValuesFromPath($sigData ,"/SigData/KVPair/Key"); my @values = getValuesFromPath($sigData ,"/SigData/KVPair/Value"); $obj->beginTransaction("ID:".$eventID."_".$eventName); my $idx = 0; print " No of Keys: $#keys "; foreach my $key (@keys) { my $length = length($values[$idx]); foreach my $FakeFEObject (@FakeFEObjects) { my $out = $FakeFEObject->putData($key, $length, $values[$idx]); if ($out == 0) { push @failedKeys, $key; } } $idx++; } if ($#failedKeys != -1) { print "Put failed for keys:".(join(", ", @failedKeys))."\n"; { lock %eventStatus; $eventStatus{$testID."_".$eventID} = EVENT_END_FAILURE; } return 0; } print "\nBackUp Successful "; { lock %eventStatus; $eventStatus{$testID."_".$eventID} = EVENT_END_SUCCESS; } return 1; }