-
Notifications
You must be signed in to change notification settings - Fork 105
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Inconsistent connection to same smbfile #334
Comments
Oddly the key seems to be the |
My best guess would be that the bug is DFS related, this should be the only case where client state can result in different requests being made. Unfortunately these are quite a pain to figure out. A jcifs.smb.DfsImpl DEBUG or TRACE level log would be great (if you redact them, try to replace server names etc. with something of the same length, as that might matter), if you provide a DEBUG level log for all jcifs - even better. If you are able to figure out how the DFS links are set up in that domain, that would be quite helpful, too. If possible, a packet capture of the resulting SMB traffic might also be helpful. |
Thanks for the reply, hopefully these will help to get started. I've ran the same program with a DEBUG/TRACE level enabled, with my code slightly edited to:
|
The issue looks to be that the first open request is directed to xxxxfc01vfil01 while the correct target server from the DFS referral would be NTNX-xxxxFC01VFIL01-3.EAME.xxxxxxxx.ORG. This only happens in the first request, once the data is cached, the correct server is used the request. I believe the culprit is Will need to include a more complex DFS setup in my test environment to properly reproduce and address that. |
Thanks for looking into it. Let me know if there's something I can do to help on my end e.g. testing. |
If you have an opportunity to inquire about the detailed setup of the relevant DFS links, that might be helpful, as unfortunately my first attempts to provoke that situation in my test environment were unsucessful. |
I've got a little more information around our set-up. Apparently xxxxFC01VFIL01.EAME.xxxxxxxx.ORG is a dfs path but with 3 different dedicated ips for redundancy, routed via a load balancer (and I think hence the -3 on the address you mentioned previously). They were all migrated to Nutanix paths earlier this year (I assume hence the NTNX- address prefix), and that feels related since I didn't see this issue last year. If you have other specific questions I can try and follow up but I'm afraid this is somewhat stretching my knowledge of DFS/networking architecture! |
Hi,
I'm seeing some odd behaviour on our fileshares - sometimes .exists() would return true and other times false. In one case I could connect to the parent but connecting directly to any of the subfolders directly would return false (however connecting to the parent and iterating to the children would work correctly).
I've eventually narrowed it down to this small example showing the inconsistency I'm seeing - it seems the initial connection will sometimes work, whereas the connections thereafter all work as expected. I'm unsure what information to give you to help dig into this - let me know and I'll see what I can do to help diagnose it.
Giving this console output:
Notice that the first .exists() returns false whereas the second returns true, for the same path.
Changing
String path = "smb://SERVER/GROUP/PS/test/";
toString path = "smb://SERVER/GROUP/PS/";
however, returns true for both .exists() calls.Kind regards,
Geraint
The text was updated successfully, but these errors were encountered: