public Version putVersionedWithCustomTimeout ( CompositeVoldemortRequest < K , V > requestWrapper ) throws ObsoleteVersionException { validateTimeout ( requestWrapper . getRoutingTimeoutInMs ( ) ) ; for ( int attempts = 0 ; attempts < this . metadataRefreshAttempts ; attempts ++ ) { try { String keyHexString = "" ; long startTimeInMs = System . currentTimeMillis ( ) ; if ( logger . isDebugEnabled ( ) ) { ByteArray key = ( ByteArray ) requestWrapper . getKey ( ) ; keyHexString = RestUtils . getKeyHexString ( key ) ; debugLogStart ( "PUT_VERSION" , requestWrapper . getRequestOriginTimeInMs ( ) , startTimeInMs , keyHexString ) ; } store . put ( requestWrapper ) ; if ( logger . isDebugEnabled ( ) ) { debugLogEnd ( "PUT_VERSION" , requestWrapper . getRequestOriginTimeInMs ( ) , startTimeInMs , System . currentTimeMillis ( ) , keyHexString , 0 ) ; } return requestWrapper . getValue ( ) . getVersion ( ) ; } catch ( InvalidMetadataException e ) { logger . info ( "Received invalid metadata exception during put [ " + e . getMessage ( ) + " ] on store '" + storeName + "'. Rebootstrapping" ) ; bootStrap ( ) ; } } throw new VoldemortException ( this . metadataRefreshAttempts + " metadata refresh attempts failed." ) ; }
Performs a Versioned put operation with the specified composite request object