Skip to content

DFS #880

@rovis-eu

Description

@rovis-eu

Hello,

I'm trying to connect DFS server, returned error is 'timeout'
my log contains info, that DFS returned 3 servers, 2 servers are down, smbj uses third server, but with timeout
I did try to create own CustomSocketFactory with bigger timeout, but it is not allicated

CustomSocketFactory:
@OverRide
public Socket createSocket() { // BEZ throws IOException!
LOG.debug("CustomSocketFactory: createSocket() called");

return new Socket() {
  @Override
  public void connect(java.net.SocketAddress endpoint, int timeout) throws IOException {
    LOG.debug("Socket.connect called with endpoint: {}, original timeout: {}ms, using custom: {}ms", endpoint, timeout, connectTimeout);
    long start = System.currentTimeMillis();

    super.connect(endpoint, connectTimeout);

    long duration = System.currentTimeMillis() - start;
    LOG.debug("Socket connected in {}ms", duration);
  }

  @Override
  public void connect(java.net.SocketAddress endpoint) throws IOException {
    LOG.debug("Socket.connect called (no timeout) with endpoint: {}", endpoint);
    this.connect(endpoint, connectTimeout);
  }

};

}

usage:
...
SmbConfig config = SmbConfig.builder()
.withEncryptData(protocolSecured)
.withDfsEnabled(isDFS)
.withTimeout(300, TimeUnit.SECONDS) // Timeout sets Read, Write, and Transact timeouts (default is 60 seconds)
.withSoTimeout(300, TimeUnit.SECONDS) // Socket Timeout (default is 0 seconds, blocks forever)
.withTransactTimeout(300, TimeUnit.SECONDS) // SMB transakce
.withReadTimeout(300, TimeUnit.SECONDS)
.withWriteTimeout(300, TimeUnit.SECONDS)
.withSocketFactory(new CustomSocketFactory(300))
.build();
SMBClient client = new SMBClient(config);
...

LOG:
2025-11-15 12:31:00.210 - DEBUG [QuartzScheduler_Worker-2] batch.AppJobRuntime [533] - TRANSFER-CBA-Educa-CERTS-PZ - copy file: certik.tst to server:MYDOMAIN.AD.SYS, path: 0002_data\UnitsUS\CSOBPoj\Evidence_PZ\ROBOT\Certifikace_CBA\K_NAHRANI_DO_FN, targetFileName: certik.tst
2025-11-15 12:31:00.210 - INFO [QuartzScheduler_Worker-2] dao.FileSmbDAO [277] - TRANSFER-CBA-Educa-CERTS-PZ - copyLocalFileToSmb(): source=F:/JBoss8.F4.std/Data/UDM/FILES/TRANSFER-CBA-Educa-CERTS-PZ/\certik.tst target (server\sharePath\fileName)=MYDOMAIN.AD.SYS{}{}
2025-11-15 12:31:00.210 - DEBUG [QuartzScheduler_Worker-2] dao.CustomSocketFactory [16] - TRANSFER-CBA-Educa-CERTS-PZ - CustomSocketFactory initialized with timeout: 300s
2025-11-15 12:31:00.257 - INFO [QuartzScheduler_Worker-2] connection.PacketEncryptor [54] - TRANSFER-CBA-Educa-CERTS-PZ - Initialized PacketEncryptor with Cipher << null >>
2025-11-15 12:31:00.259 - INFO [QuartzScheduler_Worker-2] connection.Connection [154] - TRANSFER-CBA-Educa-CERTS-PZ - Successfully connected to: MYDOMAIN.AD.SYS
2025-11-15 12:31:00.259 - DEBUG [QuartzScheduler_Worker-2] logging.ClasspathLogger [25] - TRANSFER-CBA-Educa-CERTS-PZ - [udm] - AesGcmAlgorithm - decryptMessage - START
2025-11-15 12:31:00.259 - DEBUG [QuartzScheduler_Worker-2] logging.ClasspathLogger [25] - TRANSFER-CBA-Educa-CERTS-PZ - [udm] - AesGcmAlgorithm - specForEncryption - START aes 256 AES/GCM/NoPadding
2025-11-15 12:31:00.259 - DEBUG [QuartzScheduler_Worker-2] logging.ClasspathLogger [25] - TRANSFER-CBA-Educa-CERTS-PZ - [udm] - AesGcmAlgorithm - specForEncryption - END aes 256 AES/GCM/NoPadding
2025-11-15 12:31:00.259 - DEBUG [QuartzScheduler_Worker-2] logging.ClasspathLogger [25] - TRANSFER-CBA-Educa-CERTS-PZ - [udm] - FileSystemKeyCryptingProvider - decrypt - START aes 256 AES/GCM/NoPadding
2025-11-15 12:31:00.260 - DEBUG [QuartzScheduler_Worker-2] logging.ClasspathLogger [25] - TRANSFER-CBA-Educa-CERTS-PZ - [udm] - FileSystemKeyCryptingProvider - decrypt - END aes 256 AES/GCM/NoPadding
2025-11-15 12:31:00.260 - DEBUG [QuartzScheduler_Worker-2] logging.ClasspathLogger [25] - TRANSFER-CBA-Educa-CERTS-PZ - [udm] - AesGcmAlgorithm - decryptMessage - END
2025-11-15 12:31:00.308 - INFO [QuartzScheduler_Worker-2] connection.SMBSessionBuilder [120] - TRANSFER-CBA-Educa-CERTS-PZ - Successfully authenticated AD_USER on MYDOMAIN.AD.SYS, session is 79457364738837
2025-11-15 12:31:00.308 - DEBUG [QuartzScheduler_Worker-2] dao.FileSmbDAO [531] - TRANSFER-CBA-Educa-CERTS-PZ - getRealShareName: [0002_data, UnitsUS\CSOBPoj\Evidence_PZ\ROBOT\Certifikace_CBA\K_NAHRANI_DO_FN]
2025-11-15 12:31:00.308 - DEBUG [QuartzScheduler_Worker-2] dao.FileSmbDAO [532] - TRANSFER-CBA-Educa-CERTS-PZ - returning: 0002_data
2025-11-15 12:31:00.308 - INFO [QuartzScheduler_Worker-2] session.Session [120] - TRANSFER-CBA-Educa-CERTS-PZ - Connecting to \MYDOMAIN.AD.SYS\0002_data on session 79457364738837
2025-11-15 12:31:00.331 - INFO [QuartzScheduler_Worker-2] paths.DFSPathResolver [96] - TRANSFER-CBA-Educa-CERTS-PZ - Attempting to resolve \MYDOMAIN.AD.SYS\0002_data through DFS
2025-11-15 12:31:00.331 - INFO [QuartzScheduler_Worker-2] paths.DFSPathResolver [118] - TRANSFER-CBA-Educa-CERTS-PZ - Starting DFS resolution for \MYDOMAIN.AD.SYS\0002_data
2025-11-15 12:31:00.332 - INFO [QuartzScheduler_Worker-2] session.Session [120] - TRANSFER-CBA-Educa-CERTS-PZ - Connecting to \MYDOMAIN.AD.SYS\IPC$ on session 79457364738837
2025-11-15 12:31:00.381 - INFO [QuartzScheduler_Worker-2] paths.DFSPathResolver [483] - TRANSFER-CBA-Educa-CERTS-PZ - Got DFS Referral result: \MYDOMAIN.AD.SYS\0002_data->DFSPath{[S0AB0O50.MYDOMAIN.AD.SYS, 0002_data]}(ROOT), [TargetSetEntry[DFSPath{[SRV001.MYDOMAIN.AD.SYS, 0002_data]},targetSetBoundary=false], TargetSetEntry[DFSPath{[SRV002.MYDOMAIN.AD.SYS, 0002_data]},targetSetBoundary=false], TargetSetEntry[DFSPath{[SRV003.MYDOMAIN.AD.SYS, 0002_data]},targetSetBoundary=false], TargetSetEntry[DFSPath{[SRV004.MYDOMAIN.AD.SYS, 0002_data]},targetSetBoundary=false], TargetSetEntry[DFSPath{[SRV005.MYDOMAIN.AD.SYS, 0002_data]},targetSetBoundary=false], TargetSetEntry[DFSPath{[SRV006.MYDOMAIN.AD.SYS, 0002_data]},targetSetBoundary=false], ...]
2025-11-15 12:31:00.381 - INFO [QuartzScheduler_Worker-2] session.Session [132] - TRANSFER-CBA-Educa-CERTS-PZ - Re-routing the connection to host SRV001.MYDOMAIN.AD.SYS
2025-11-15 12:31:05.382 - INFO [QuartzScheduler_Worker-2] session.Session [132] - TRANSFER-CBA-Educa-CERTS-PZ - Re-routing the connection to host SRV002.MYDOMAIN.AD.SYS
2025-11-15 12:31:10.386 - INFO [QuartzScheduler_Worker-2] session.Session [132] - TRANSFER-CBA-Educa-CERTS-PZ - Re-routing the connection to host SRV003.MYDOMAIN.AD.SYS
2025-11-15 12:31:10.391 - INFO [QuartzScheduler_Worker-2] connection.PacketEncryptor [54] - TRANSFER-CBA-Educa-CERTS-PZ - Initialized PacketEncryptor with Cipher << null >>
2025-11-15 12:31:10.391 - INFO [QuartzScheduler_Worker-2] connection.Connection [154] - TRANSFER-CBA-Educa-CERTS-PZ - Successfully connected to: SRV003.MYDOMAIN.AD.SYS
2025-11-15 12:31:12.509 - INFO [QuartzScheduler_Worker-2] connection.SMBSessionBuilder [120] - TRANSFER-CBA-Educa-CERTS-PZ - Successfully authenticated AD_USER on SRV003.MYDOMAIN.AD.SYS, session is 17650570758457
2025-11-15 12:31:12.510 - INFO [QuartzScheduler_Worker-2] session.Session [120] - TRANSFER-CBA-Educa-CERTS-PZ - Connecting to \SRV003.MYDOMAIN.AD.SYS\0002_data on session 17650570758457
2025-11-15 12:31:12.511 - DEBUG [QuartzScheduler_Worker-2] dao.FileSmbDAO [538] - TRANSFER-CBA-Educa-CERTS-PZ - getRealFolderName: [0002_data, UnitsUS\CSOBPoj\Evidence_PZ\ROBOT\Certifikace_CBA\K_NAHRANI_DO_FN]
2025-11-15 12:31:12.511 - DEBUG [QuartzScheduler_Worker-2] dao.FileSmbDAO [544] - TRANSFER-CBA-Educa-CERTS-PZ - returning: UnitsUS\CSOBPoj\Evidence_PZ\ROBOT\Certifikace_CBA\K_NAHRANI_DO_FN
2025-11-15 12:31:12.511 - DEBUG [QuartzScheduler_Worker-2] dao.FileSmbDAO [299] - TRANSFER-CBA-Educa-CERTS-PZ - realFolderPath=UnitsUS\CSOBPoj\Evidence_PZ\ROBOT\Certifikace_CBA\K_NAHRANI_DO_FN
2025-11-15 12:31:12.511 - DEBUG [QuartzScheduler_Worker-2] dao.FileSmbDAO [538] - TRANSFER-CBA-Educa-CERTS-PZ - getRealFolderName: [0002_data, UnitsUS\CSOBPoj\Evidence_PZ\ROBOT\Certifikace_CBA\K_NAHRANI_DO_FN]
2025-11-15 12:31:12.511 - DEBUG [QuartzScheduler_Worker-2] dao.FileSmbDAO [544] - TRANSFER-CBA-Educa-CERTS-PZ - returning: UnitsUS\CSOBPoj\Evidence_PZ\ROBOT\Certifikace_CBA\K_NAHRANI_DO_FN
2025-11-15 12:31:12.511 - DEBUG [QuartzScheduler_Worker-2] dao.FileSmbDAO [327] - TRANSFER-CBA-Educa-CERTS-PZ - openFileForCreate share\filePath: DiskShare[\SRV003.MYDOMAIN.AD.SYS\0002_data]{}
2025-11-15 12:31:12.512 - INFO [QuartzScheduler_Worker-2] paths.DFSPathResolver [118] - TRANSFER-CBA-Educa-CERTS-PZ - Starting DFS resolution for \SRV003.MYDOMAIN.AD.SYS\0002_data\UnitsUS\CSOBPoj\Evidence_PZ\ROBOT\Certifikace_CBA\K_NAHRANI_DO_FN\certik.tst.part
2025-11-15 12:31:12.512 - INFO [QuartzScheduler_Worker-2] session.Session [120] - TRANSFER-CBA-Educa-CERTS-PZ - Connecting to \SRV003.MYDOMAIN.AD.SYS\IPC$ on session 17650570758457
2025-11-15 12:31:12.514 - INFO [QuartzScheduler_Worker-2] paths.DFSPathResolver [483] - TRANSFER-CBA-Educa-CERTS-PZ - Got DFS Referral result: \SRV003.MYDOMAIN.AD.SYS\0002_data\UnitsUS->DFSPath{[csob.int, UnitsUS]}(LINK), [TargetSetEntry[DFSPath{[csob.int, UnitsUS]},targetSetBoundary=false]]
2025-11-15 12:31:17.518 - INFO [QuartzScheduler_Worker-2] session.Session [233] - TRANSFER-CBA-Educa-CERTS-PZ - Logging off session 79457364738837 from host MYDOMAIN.AD.SYS
2025-11-15 12:31:17.540 - INFO [QuartzScheduler_Worker-2] session.Session [245] - TRANSFER-CBA-Educa-CERTS-PZ - Logging off nested session 17650570758457 for session 79457364738837
2025-11-15 12:31:17.541 - INFO [QuartzScheduler_Worker-2] session.Session [233] - TRANSFER-CBA-Educa-CERTS-PZ - Logging off session 17650570758457 from host SRV003.MYDOMAIN.AD.SYS
2025-11-15 12:31:17.565 - INFO [QuartzScheduler_Worker-2] connection.Connection [190] - TRANSFER-CBA-Educa-CERTS-PZ - Closed connection to MYDOMAIN.AD.SYS
2025-11-15 12:31:17.565 - INFO [QuartzScheduler_Worker-2] connection.Connection [190] - TRANSFER-CBA-Educa-CERTS-PZ - Closed connection to MYDOMAIN.AD.SYS
2025-11-15 12:31:17.565 - INFO [QuartzScheduler_Worker-2] dao.FileSmbDAO [322] - TRANSFER-CBA-Educa-CERTS-PZ - copyLocalFileToSmb end
2025-11-15 12:31:17.565 - INFO [Packet Reader for MYDOMAIN.AD.SYS] direct.DirectTcpPacketReader [64] - - Thread[#216,Packet Reader for MYDOMAIN.AD.SYS,5,ServerService ThreadGroup] stopped.
2025-11-15 12:31:17.565 - ERROR [QuartzScheduler_Worker-2] batch.AppJobRuntime [150] - TRANSFER-CBA-Educa-CERTS-PZ - ERROR (unknown):
com.hierynomus.mssmb2.SMBApiException: STATUS_OTHER (0xffffffff): Cannot resolve path \SRV003.MYDOMAIN.AD.SYS\0002_data\UnitsUS\CSOBPoj\Evidence_PZ\ROBOT\Certifikace_CBA\K_NAHRANI_DO_FN\certik.tst.part
at deployment.udm.war//com.hierynomus.smbj.share.DiskShare.resolveAndCreateFile(DiskShare.java:115)
at deployment.udm.war//com.hierynomus.smbj.share.DiskShare.open(DiskShare.java:65)
at deployment.udm.war//com.hierynomus.smbj.share.DiskShare.openFile(DiskShare.java:169)
at deployment.udm.war//cz.csobp.udm.dao.FileSmbDAO.openFileForCreate(FileSmbDAO.java:328)
at deployment.udm.war//cz.csobp.udm.dao.FileSmbDAO.copyLocalFileToSmb(FileSmbDAO.java:300)
at deployment.udm.war//cz.csobp.udm.batch.FileTransport.runTransferTarget(FileTransport.java:534)
at deployment.udm.war//cz.csobp.udm.batch.FileTransport.runStep(FileTransport.java:111)
at deployment.udm.war//cz.csobp.udm.batch.FileTransport.runOnce(FileTransport.java:66)
at deployment.udm.war//cz.csobp.udm.batch.AppJobRuntime.run(AppJobRuntime.java:136)
at deployment.udm.war//cz.csobp.udm.batch.AppJobRuntime.execute(AppJobRuntime.java:83)
at deployment.udm.war//org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at deployment.udm.war//org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
Caused by: com.hierynomus.msdfsc.DFSException: java.net.SocketTimeoutException: Connect timed out
at deployment.udm.war//com.hierynomus.smbj.paths.DFSPathResolver.sendDfsReferralRequest(DFSPathResolver.java:430)
at deployment.udm.war//com.hierynomus.smbj.paths.DFSPathResolver.step6(DFSPathResolver.java:270)
at deployment.udm.war//com.hierynomus.smbj.paths.DFSPathResolver.step5(DFSPathResolver.java:231)
at deployment.udm.war//com.hierynomus.smbj.paths.DFSPathResolver.step2(DFSPathResolver.java:150)
at deployment.udm.war//com.hierynomus.smbj.paths.DFSPathResolver.step11(DFSPathResolver.java:379)
at deployment.udm.war//com.hierynomus.smbj.paths.DFSPathResolver.step4(DFSPathResolver.java:207)
at deployment.udm.war//com.hierynomus.smbj.paths.DFSPathResolver.step7(DFSPathResolver.java:294)
at deployment.udm.war//com.hierynomus.smbj.paths.DFSPathResolver.step6(DFSPathResolver.java:272)
at deployment.udm.war//com.hierynomus.smbj.paths.DFSPathResolver.step5(DFSPathResolver.java:231)
at deployment.udm.war//com.hierynomus.smbj.paths.DFSPathResolver.step2(DFSPathResolver.java:150)
at deployment.udm.war//com.hierynomus.smbj.paths.DFSPathResolver.step1(DFSPathResolver.java:133)
at deployment.udm.war//com.hierynomus.smbj.paths.DFSPathResolver.start(DFSPathResolver.java:121)
at deployment.udm.war//com.hierynomus.smbj.paths.DFSPathResolver.resolve(DFSPathResolver.java:109)
at deployment.udm.war//com.hierynomus.smbj.share.DiskShare.resolveAndCreateFile(DiskShare.java:105)
... 11 more
Caused by: java.net.SocketTimeoutException: Connect timed out
at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:546)
at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:592)
at java.base/java.net.Socket.connect(Socket.java:751)
at deployment.udm.war//com.hierynomus.protocol.commons.socket.ProxySocketFactory.createSocket(ProxySocketFactory.java:87)
at deployment.udm.war//com.hierynomus.protocol.commons.socket.ProxySocketFactory.createSocket(ProxySocketFactory.java:63)
at deployment.udm.war//com.hierynomus.smbj.transport.tcp.direct.DirectTcpTransport.connect(DirectTcpTransport.java:95)
at deployment.udm.war//com.hierynomus.smbj.connection.Connection.connect(Connection.java:144)
at deployment.udm.war//com.hierynomus.smbj.SMBClient.getEstablishedOrConnect(SMBClient.java:96)
at deployment.udm.war//com.hierynomus.smbj.SMBClient.connect(SMBClient.java:71)
at deployment.udm.war//com.hierynomus.smbj.paths.DFSPathResolver.sendDfsReferralRequest(DFSPathResolver.java:428)
... 24 more
2025-11-15 12:31:17.567 - INFO [QuartzScheduler_Worker-2] tools.AppJobSender [27] - TRANSFER-CBA-Educa-CERTS-PZ - sendError: com.hierynomus.mssmb2.SMBApiException: STATUS_OTHER (0xffffffff): Cannot resolve path \SRV003.MYDOMAIN.AD.SYS\0002_data\UnitsUS\CSOBPoj\Evidence_PZ\ROBOT\Certifikace_CBA\K_NAHRANI_DO_FN\certik.tst.part

can you check pls? thank you

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions