Re: custom jcifs properties
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 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 , 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 wrote: >> >>> Hi, >>> >>> SharedDriveConnector have some hardcoded system properties as follow: >>> >>> static >>> { >>> System.setProperty("jcifs.smb.client.soTimeout","15"); >>> System.setProperty("jcifs.smb.client.responseTimeout","12"); >>> 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 >>> >>
Re: custom jcifs properties
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 , 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 wrote: > >> Hi, >> >> SharedDriveConnector have some hardcoded system properties as follow: >> >> static >> { >> System.setProperty("jcifs.smb.client.soTimeout","15"); >> System.setProperty("jcifs.smb.client.responseTimeout","12"); >> 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 >> >
Re: custom jcifs properties
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 wrote: > Hi, > > SharedDriveConnector have some hardcoded system properties as follow: > > static > { > System.setProperty("jcifs.smb.client.soTimeout","15"); > System.setProperty("jcifs.smb.client.responseTimeout","12"); > 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 >