Skip to main content
Delphix

Windows Target Environment Discovery or Refresh Fails With IO Write Error (KBA1826)

 

 

Applicable Delphix Versions

 

Major Release

All Sub Releases

5.3 5.3.0.0
5.2 5.2.2.0, 5.2.2.1, 5.2.3.0, 5.2.4.0, 5.2.5.0, 5.2.5.1, 5.2.6.0, 5.2.6.1

5.1

5.1.0.0, 5.1.1.0, 5.1.2.0, 5.1.3.0, 5.1.4.0, 5.1.5.0, 5.1.5.1, 5.1.6.0, 5.1.7.0, 5.1.8.0, 5.1.8.1, 5.1.9.0, 5.1.10.0

5.0

5.0.1.0, 5.0.1.1, 5.0.2.0, 5.0.2.1, 5.0.2.2, 5.0.2.3, 5.0.3.0, 5.0.3.1, 5.0.4.0, 5.0.4.1 ,5.0.5.0, 5.0.5.1, 5.0.5.2, 5.0.5.3, 5.0.5.4

4.3

4.3.1.0, 4.3.2.0, 4.3.2.1, 4.3.3.0, 4.3.4.0, 4.3.4.1, 4.3.5.0

4.2

4.2.0.0, 4.2.0.3, 4.2.1.0, 4.2.1.1, 4.2.2.0, 4.2.2.1, 4.2.3.0, 4.2.4.0 , 4.2.5.0, 4.2.5.1

4.1

4.1.0.0, 4.1.2.0, 4.1.3.0, 4.1.3.1, 4.1.3.2, 4.1.4.0, 4.1.5.0, 4.1.6.0

4.0

4.0.0.0, 4.0.0.1, 4.0.1.0, 4.0.2.0, 4.0.3.0, 4.0.4.0, 4.0.5.0, 4.0.6.0, 4.0.6.1

Issue

During a windows target host environment discovery and subsequent refresh, a failure occurs early in the workflow. The job will fail after this error occurs, involving an io write error during the first attempt to write scripts to the DelphixConnector location for the discovery:

java.net.SocketException: Connection timed out (Read failed)"]
An IO error occurred while attempting to write a remote file on host "Windows_Host_Name"

The environment remains on the environments list. Attempts to delete it fail with a timeout and additional information:

java.net.SocketException: Connection timed out (Read failed)}"]
Attempt to remove persistent iSCSI target "iqn.2008-07.com.delphix:02:3122ea8c-49b0-eac1-d502-d456a63ac856" has failed on host "Windows_Host_Name" : exception.ccc.writefile.failed {Windows_Host_Name
java.net.SocketException: Connection timed out (Read failed)}

Troubleshooting

The errors are caused by something not configured properly. In this situation, an MTU mismatch was the cause of the issue.

The Delphix engine interface servicing the Windows host configured MTU as 9000 bytes, so called Jumbo frames.

The Windows host MTU configured for 1500.

This can be tested with the ping command from the Windows host to the Delphix engine:

ping Delphix_Engine_Ip_Address -f -l 8000

Example output:

Pinging Delphix_Engine_Ip_Address with 8000 bytes of data:
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.

Ping statistics for Delphix_Engine_Ip_Address:
    Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

It's a good indication the MTUs mismatch. 

Resolution

Correct the situation so the MTUs will match. If Jumbo frames are desired, enable Jumbo frames on the Windows network adapter and all network hops between the host and the Delphix Engine.

Additional Information

N/A

External Links

N/A

 

This is an example of a stack trace from debug.log when Windows environment refresh fails. This was obtained from ZenDesk case 43449:

[2019-01-31 15:45:49,918][ERROR][ccc.impl.connectorconnection.C3BaseConnectorConnectionImpl#execute:265][Worker-144356|JOB-125743|HOST_REFRESH(WINDOWS_HOST-68)][ACTION-262893] [WSPWD00B0055:9100]: Executor job failed, disconnecting
java.util.concurrent.ExecutionException: java.net.SocketException: Connection timed out (Read failed)
        at java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.util.concurrent.FutureTask.get(FutureTask.java:192)
        at com.delphix.appliance.server.ccc.impl.connectorconnection.C3BaseConnectorConnectionImpl$JobExecutor.execute(C3BaseConnectorConnectionImpl.java:263)
        at com.delphix.appliance.server.ccc.impl.connectorconnection.C3BaseConnectorConnectionImpl.processWriteFile(C3BaseConnectorConnectionImpl.java:436)
        at com.delphix.appliance.server.ccc.impl.connectorconnection.C3BaseConnectorConnectionImpl.writeFile(C3BaseConnectorConnectionImpl.java:610)
        at com.delphix.appliance.server.ccc.impl.connectorconnection.C3BaseConnectorConnectionImpl.writeFile(C3BaseConnectorConnectionImpl.java:682)
        at com.delphix.appliance.server.host.WindowsHostUtils.writeFile(WindowsHostUtils.java:108)
        at com.delphix.appliance.server.host.PS1ScriptExecutor.executeWithTimeout(PS1ScriptExecutor.java:92)
        at com.delphix.appliance.server.host.PS1ScriptExecutor.execute(PS1ScriptExecutor.java:78)
        at com.delphix.appliance.server.host.impl.windows.WindowsHostDiscoveryUtils.discoverWindowsConfiguration(WindowsHostDiscoveryUtils.java:53)
        at com.delphix.appliance.server.host.impl.WindowsHostProvider.addOrRefreshHost(WindowsHostProvider.java:345)
        at com.delphix.appliance.server.host.impl.WindowsHostProvider.refreshHost(WindowsHostProvider.java:230)
        at com.delphix.appliance.server.host.impl.HostManagerImpl$4.execute(HostManagerImpl.java:369)
        at com.delphix.appliance.server.jcm.impl.JobInstance$3.run(JobInstance.java:320)
        at com.delphix.appliance.server.dco.jobs.JobInterrupter.withThread(JobInterrupter.java:40)
        at com.delphix.appliance.server.jcm.impl.JobInstance.execute(JobInstance.java:315)
        at com.delphix.appliance.server.jcm.impl.JobLauncher$1.run(JobLauncher.java:30)
        at com.delphix.appliance.server.jcm.impl.JobTracker.runInJobContext(JobTracker.java:41)
        at com.delphix.appliance.server.jcm.impl.JobLauncher.execute(JobLauncher.java:25)
        at com.delphix.appliance.server.wms.impl.WorkerManagerImpl.run(WorkerManagerImpl.java:504)
        at com.delphix.appliance.server.wms.impl.WorkerControl.run(WorkerControl.java:125)
        ... 3 more