Bug 4940 - correctly implement default-request-timeout-millis
[netconf.git] / opendaylight / netconf / sal-netconf-connector / src / main / java / org / opendaylight / netconf / sal / connect / netconf / sal / tx / ReadOnlyTx.java
index 28d75cdaa4dd3210d9686f391e211abb4a22ad5c..dda54851094e612bf97a86c3020349427a384e8f 100644 (file)
@@ -16,9 +16,6 @@ import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
 import java.util.concurrent.ExecutionException;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
 import org.opendaylight.controller.md.sal.dom.api.DOMDataReadOnlyTransaction;
@@ -44,12 +41,9 @@ public final class ReadOnlyTx implements DOMDataReadOnlyTransaction {
     private final RemoteDeviceId id;
     private final FutureCallback<DOMRpcResult> loggingCallback;
 
-    private final long requestTimeoutMillis;
-
-    public ReadOnlyTx(final NetconfBaseOps netconfOps, final RemoteDeviceId id, final long requestTimeoutMillis) {
+    public ReadOnlyTx(final NetconfBaseOps netconfOps, final RemoteDeviceId id) {
         this.netconfOps = netconfOps;
         this.id = id;
-        this.requestTimeoutMillis = requestTimeoutMillis;
 
         // Simple logging callback to log result of read operation
         loggingCallback = new FutureCallback<DOMRpcResult>() {
@@ -84,10 +78,6 @@ public final class ReadOnlyTx implements DOMDataReadOnlyTransaction {
             }
         });
 
-        if(!readWithTimeout("readConfigurationData", configRunning)) {
-            return null;
-        }
-
         return MappingCheckedFuture.create(transformedFuture, ReadFailedException.MAPPER);
     }
 
@@ -119,10 +109,6 @@ public final class ReadOnlyTx implements DOMDataReadOnlyTransaction {
             }
         });
 
-        if(!readWithTimeout("readOperationalData", configCandidate)) {
-            return null;
-        }
-
         return MappingCheckedFuture.create(transformedFuture, ReadFailedException.MAPPER);
     }
 
@@ -161,18 +147,4 @@ public final class ReadOnlyTx implements DOMDataReadOnlyTransaction {
     public Object getIdentifier() {
         return this;
     }
-
-    private boolean readWithTimeout(String operation, ListenableFuture<DOMRpcResult> future) {
-        try {
-            future.get(requestTimeoutMillis, TimeUnit.MILLISECONDS);
-        } catch (InterruptedException | ExecutionException e) {
-            LOG.error("{}: {} failed with error", id, operation, e);
-            throw new RuntimeException(id + ": readOperationalData failed");
-        } catch (TimeoutException e) {
-            LOG.warn("{}: Unable to {} after {} milliseconds", id, operation, requestTimeoutMillis, e);
-            future.cancel(true);
-            return false;
-        }
-        return true;
-    }
 }