Hi Cihad, I am usually not fond of solutions where all connections of a given type are affected by a single environment change. In this case, there is no good way to make the change connection-specific.
I would insist, though, that any change to the functioning of the system be backwards-compatible. That means that even if there are no changes to start-options.env, the default behavior is still as it was. I can think of a way to do that: basically, in the static block, you should check to see if the property is already set before setting it (if it isn't). Karl On Mon, Feb 25, 2019 at 2:49 PM Cihad Guzel <[email protected]> wrote: > Hi Karl, > > In some cases, "jcifs" is running slowly. In order to solve this problem, > we need to set custom some properties. > > For example; my problem was in my test environment: I have a windows > server and an ubuntu server in same network in AWS EC2 Service. The windows > server has Active Directory service, DNS Server and shared folder while the > ubuntu server has some instance such as manifoldcf, an db instance and > solr. > > If the DNS settings are not defined on the ubuntu server, jcifs runs > slowly. Because the default resolver order is set as 'LMHOSTS,DNS,WINS'. It > means[1]; firstly "jcifs" checks '/etc/hosts' files for linux/unix > server'', then it checks the DNS server. In my opinion, the linux server > doesn't recognize the DNS server and threads are waiting for every file for > access to read. > > I suppose, WINS is used when accessing hosts on different subnets. So, I > have set "jcifs.resolveOrder = WINS" and my problem has been FIXED. > > I suppose, WINS is used when accessing hosts on different subnets. > > Another suggestion for similar problem from another example[2]: > "-Djcifs.resolveOrder = DNS" > > Finally; I suggest these changes: > > Remove the line > (System.setProperty("jcifs.resolveOrder","LMHOSTS,DNS,WINS"); ) from > SharedDriveConnector.java > > Add "-Djcifs.resolveOrder = LMHOSTS,DNS,WINS" to "start-options.env" file. > > If you have been convinced about this, I can create a PR. > > [1] https://www.jcifs.org/src/docs/resolver.html > [2] https://stackoverflow.com/a/18837754 > > Regards, > Cihad Guzel > > Karl Wright <[email protected]>, 24 Şub 2019 Paz, 19:20 tarihinde şunu > yazdı: > >> These settings were provided by the developer of jcifs, Michael Allen. >> You have to really understand the protocol well before you should consider >> changing them in any way. >> >> Thanks, >> Karl >> >> >> On Sun, Feb 24, 2019 at 9:53 AM Cihad Guzel <[email protected]> wrote: >> >>> Hi, >>> >>> SharedDriveConnector have some hardcoded system properties as follow: >>> >>> static >>> { >>> System.setProperty("jcifs.smb.client.soTimeout","150000"); >>> System.setProperty("jcifs.smb.client.responseTimeout","120000"); >>> System.setProperty("jcifs.resolveOrder","LMHOSTS,DNS,WINS"); >>> System.setProperty("jcifs.smb.client.listCount","20"); >>> System.setProperty("jcifs.smb.client.dfs.strictView","true"); >>> } >>> >>> How can I override them when to start manifoldcf? >>> >>> It may be better to define these settings in the start-options.env file. >>> >>> Regards, >>> Cihad Guzel >>> >>
