Re: FarmWarDeployer not checking watchDir

2015-01-21 Thread Théo Chamley

On 2015-01-21 00:15, Christopher Schultz wrote:


Can you build with an updated patch[1], re-break your directory
permissions and re-run Tomcat? Let me know if the log output you get
would have led you to a solution more quickly.

- -chris


I did. Here is the warning I obtained:

21-Jan-2015 12:48:26.160 WARNING 
[ContainerBackgroundProcessor[StandardEngine[Catalina]]] 
org.apache.catalina.ha.deploy.WarWatcher.check /my/watch/dir/ROOT.war 
was detected in /my/watch/dir but does not exist. Check directory 
permissions on /my/watch/dir?


I probably would have found the problem faster with this message, yes.
I'll open


Can you log a Bugzilla enhancement for this? I'll add some checking to
WarWatcher as well as improved logging.


I will open it right now.


Théo

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: FarmWarDeployer not checking watchDir

2015-01-20 Thread Konstantin Kolinko
2015-01-13 21:38 GMT+03:00 Théo Chamley theo...@mley.fr:
 Hello,

 I have setup a Tomcat cluster and I am now trying to get the FarmWarDeployer
 to work.
 However, it seems that the Deployer never checks my watchDir and therefore
 never finds my new wars to deploy.

 When starting Tomcat, the logs indicate that the Deployer is started:
 13-Jan-2015 19:21:43.942 INFO [Catalina-startStop-1]
 org.apache.catalina.ha.deploy.FarmWarDeployer.start Cluster deployment is
 watching [/my/watch/dir/] for changes.
 13-Jan-2015 19:21:43.942 INFO [Catalina-startStop-1]
 org.apache.catalina.ha.deploy.FarmWarDeployer.start Cluster FarmWarDeployer
 started.

 But nothing more, even for extended periods of time after putting my
 ROOT.war inside my watchDir.

 I checked the source code
 (https://github.com/apache/tomcat80/blob/trunk/java/org/apache/catalina/ha/deploy/FarmWarDeployer.java),
 and it seems that the check must be done once every two backgroundProcess
 calls, but I don't understand when this function is supposed to be called or
 if there is a way to force the check.

 I feel like I am missing something obvious...


 Here is my config:
 Oracle JDK 1.8.0_25
 Tomcat 8.0.15
 server.xml:
 Host name=www.exemple.com appBase=/my/app/base
 unpackWARs=true
 autoDeploy=true
 
 Cluster
 className=org.apache.catalina.ha.tcp.SimpleTcpCluster
 channelSendOptions=6
 Manager
 className=org.apache.catalina.ha.session.BackupManager
 expireSessionsOnShutdown=false
 notifyListenersOnReplication=true
 mapSendOptions=6/
 Channel
 className=org.apache.catalina.tribes.group.GroupChannel
 Membership
 className=org.apache.catalina.tribes.membership.McastService
 address=228.0.0.4
 port=45564
 frequency=500
 dropTime=3000
 bind=10.0.0.1/
 Receiver
 className=org.apache.catalina.tribes.transport.nio.NioReceiver
 address=10.0.0.1
 port=5000
 selectorTimeout=100
 maxThreads=6/
 Sender
 className=org.apache.catalina.tribes.transport.ReplicationTransmitter
 Transport
 className=org.apache.catalina.tribes.transport.nio.PooledParallelSender/
 /Sender
 Interceptor
 className=org.apache.catalina.tribes.group.interceptors.TcpFailureDetector/
 Interceptor
 className=org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor/
 Interceptor
 className=org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor/
 /Channel
 Valve
 className=org.apache.catalina.ha.tcp.ReplicationValve

 filter=.*.gif|.*.js|.*.jpeg|.*.jpg|.*.png|.*.css|.*.txt/

Note . before file name extension has to be escaped to mean a
literal '.' instead of any-character pattern,
.*\.gif etc.


 Deployer
 className=org.apache.catalina.ha.deploy.FarmWarDeployer
 tempDir=/my/temp/dir/
 deployDir=/my/app/base/
 watchDir=/my/listen/dir/
 watchEnabled=true/

I wonder why there are two getter methods for watchEnabled property in
FarmWarDeployer,

[[[
public boolean isWatchEnabled() {
return watchEnabled;
}

public boolean getWatchEnabled() {
return watchEnabled;
}

public void setWatchEnabled(boolean watchEnabled) {
this.watchEnabled = watchEnabled;
}
]]]


 ClusterListener
 className=org.apache.catalina.ha.session.ClusterSessionListener/
 /Cluster
 /Host


 The logs now show that the listen dir is checked, but nothing more, even if I 
 repeatedly touch the ROOT.war file. And  from the source code, I won't 
 have more information from the logs…
 Could the mount options of the file system influence the result? My partition 
 is mounted with
 rw,nosuid,nodev,noexec,noatime,nodiratime,data=ordered.

 19-Jan-2015 12:04:27.956 FINE [ContainerBackgroundProcessor[
StandardEngine[Catalina]]]
org.apache.catalina.ha.deploy.WarWatcher.check check cluster wars at
/my/watch/dir


Note that message says /my/watch/dir,  but the configuration above
uses /my/listen/dir/.

What are access permissions for the directory and for the file.  Is
there search permission on the directory, is the file readable?

E.g. if the directory is not readable File.listFiles() returns null,
but the code interprets it as an empty list, silently proceeding
further.

Best regards,
Konstantin Kolinko


Re: FarmWarDeployer not checking watchDir

2015-01-20 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Théo,

On 1/19/15 3:59 PM, Théo Chamley wrote:
 
 On 19 Jan 2015, at 20:16, Christopher Schultz 
 ch...@christopherschultz.net
 mailto:ch...@christopherschultz.net wrote:
 
 Signed PGP part Théo,
 
 On 1/19/15 6:11 AM, Théo Chamley wrote:
 On 2015-01-16 19:33, Christopher Schultz wrote: Théo,
 
 On 1/13/15 1:38 PM, Théo Chamley wrote:
 I have setup a Tomcat cluster and I am now trying to get
 the FarmWarDeployer to work. However, it seems that the
 Deployer never checks my watchDir and therefore never
 finds my new wars to deploy.
 
 When starting Tomcat, the logs indicate that the Deployer
 is started: 13-Jan-2015 19:21:43.942 INFO 
 [Catalina-startStop-1] 
 org.apache.catalina.ha.deploy.FarmWarDeployer.start
 Cluster deployment is watching [/my/watch/dir/] for
 changes. 13-Jan-2015 19:21:43.942 INFO
 [Catalina-startStop-1] 
 org.apache.catalina.ha.deploy.FarmWarDeployer.start
 Cluster FarmWarDeployer started.
 
 But nothing more, even for extended periods of time
 after putting my ROOT.war inside my watchDir.
 
 I checked the source code
 
 (https://github.com/apache/tomcat80/blob/trunk/java/org/apache/catalina/ha/deploy/FarmWarDeployer.java),

 
 
 
 
 
 
 and it seems that the check must be done once every two
 backgroundProcess calls, but I don't understand when
 this function is supposed to be called or if there is a
 way to force the check.
 
 Can you enable DEBUG logging for 
 org.apache.catalina.ha.deploy.WarWatcher?
 
 The backgroundProcess method will be called by the background 
 thread that is launched for the server. It's not something you
 will generally have to manage yourself.
 
 -chris
 
 -

 
 
 
 To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org 
 mailto:users-unsubscr...@tomcat.apache.org
 For additional commands, e-mail:
 users-h...@tomcat.apache.org
 mailto:users-h...@tomcat.apache.org
 
 Hello,
 
 Thank you for your answer. The logs now show that the listen
 dir is checked, but nothing more, even if I repeatedly touch
 the ROOT.war file. And from the source code, I won't have more 
 information from the logs… Could the mount options of the file 
 system influence the result? My partition is mounted with 
 rw,nosuid,nodev,noexec,noatime,nodiratime,data=ordered.
 
 19-Jan-2015 12:04:27.956 FINE 
 [ContainerBackgroundProcessor[StandardEngine[Catalina]]] 
 org.apache.catalina.ha.deploy.WarWatcher.check check cluster
 wars at /my/watch/dir 19-Jan-2015 12:04:47.962 FINE 
 [ContainerBackgroundProcessor[StandardEngine[Catalina]]] 
 org.apache.catalina.ha.deploy.WarWatcher.check check cluster
 wars at /my/watch/dir 19-Jan-2015 12:05:07.967 FINE 
 [ContainerBackgroundProcessor[StandardEngine[Catalina]]] 
 org.apache.catalina.ha.deploy.WarWatcher.check check cluster
 wars at /my/watch/dir
 
 It looks like WarWatcher looks for WAR files that end in .war 
 specifically: it must be all lower-case.
 
 Would you be willing to build your own Tomcat from source if I
 send you a source patch? I could add some logging and you can get
 more information.
 
 -chris
 
 
 
 -

 
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
 mailto:users-unsubscr...@tomcat.apache.org For additional
 commands, e-mail: users-h...@tomcat.apache.org 
 mailto:users-h...@tomcat.apache.org
 
 
 Hello,
 
 Yes, absolutely. Also, I just verified: the name of my file is
 exactly “ROOT.war”, with this case.

http://people.apache.org/~schultz/patches/WarWatcher.log.patch

Kick-up the log level for the WarWatcher class to TRACE and re-try.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org

iQIcBAEBCAAGBQJUvnVLAAoJEBzwKT+lPKRYSEkP/jXmu1J8CEpnSNtDvdZjsKvc
eUvNlEO8ul6cAbEH2FnEpN26CmXLwGNdCmN17THElUI+O/j2nH/HMqEtD3wSRsdj
bp9Vy4bKAhAu9rsOwNIlW8aY3mcDTQp+sKF55RzpXqxP4aO7UyxXgHwlZavJvNB6
ockn7NV/qPafhJRTBiahdB9pHAB6yXAToaUn1GlITDtTLHYY4BG3a3084mh6I406
70vOMYOM4E9vDRcEreI7gANg6Zbc299UrHPG/9Q+YnHtogw1hd7YheraMF7iyzFj
WYcmEZjjZfOWRT8MtRokBaj3WgugHHIJZ6rYW4Snb6O9Lp6Gox4LBoro41++RJsm
oRLnyYe8fW81OjivEgjiyxHD49yFrPcEhOnAVguCBD/wVeBUafcbvGgnCHbY44ma
rPtkrKF25JuELmb2jcYO0Q1/C2edG/G7SzCYTAUquNlFrepCwjfecyXqA7iJncte
8hBMO0D3ukJOZsXtlwGS4O2v+ulXH3e/7KUIN45XDy0RTzDPlnEndC6/1D0Oxcgc
muPiFg/EzI6jNi2hSFOJSluJ5RaK6brifOHki8NK7obBMcj4CWs1Rs03Av9oA6BD
wtldS6S6ZesQCyY73d4gHqdJHYMv0j+jvG0sn3eKDULrdnXgYqDjkVmYDWSlkpqB
v4reNZCAQ7K6157+eVIr
=FGW0
-END PGP SIGNATURE-

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: FarmWarDeployer not checking watchDir

2015-01-20 Thread Théo Chamley

On 2015-01-20 16:33, Christopher Schultz wrote:

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Théo,

On 1/19/15 3:59 PM, Théo Chamley wrote:



On 19 Jan 2015, at 20:16, Christopher Schultz
ch...@christopherschultz.net
mailto:ch...@christopherschultz.net wrote:

Signed PGP part Théo,

On 1/19/15 6:11 AM, Théo Chamley wrote:

On 2015-01-16 19:33, Christopher Schultz wrote: Théo,

On 1/13/15 1:38 PM, Théo Chamley wrote:

I have setup a Tomcat cluster and I am now trying to get
the FarmWarDeployer to work. However, it seems that the
Deployer never checks my watchDir and therefore never
finds my new wars to deploy.

When starting Tomcat, the logs indicate that the Deployer
is started: 13-Jan-2015 19:21:43.942 INFO
[Catalina-startStop-1]
org.apache.catalina.ha.deploy.FarmWarDeployer.start
Cluster deployment is watching [/my/watch/dir/] for
changes. 13-Jan-2015 19:21:43.942 INFO
[Catalina-startStop-1]
org.apache.catalina.ha.deploy.FarmWarDeployer.start
Cluster FarmWarDeployer started.

But nothing more, even for extended periods of time
after putting my ROOT.war inside my watchDir.

I checked the source code


(https://github.com/apache/tomcat80/blob/trunk/java/org/apache/catalina/ha/deploy/FarmWarDeployer.java),












and it seems that the check must be done once every two

backgroundProcess calls, but I don't understand when
this function is supposed to be called or if there is a
way to force the check.


Can you enable DEBUG logging for
org.apache.catalina.ha.deploy.WarWatcher?

The backgroundProcess method will be called by the background
thread that is launched for the server. It's not something you
will generally have to manage yourself.

-chris


-









To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
mailto:users-unsubscr...@tomcat.apache.org

For additional commands, e-mail:
users-h...@tomcat.apache.org

mailto:users-h...@tomcat.apache.org


Hello,

Thank you for your answer. The logs now show that the listen
dir is checked, but nothing more, even if I repeatedly touch
the ROOT.war file. And from the source code, I won't have more
information from the logs… Could the mount options of the file
system influence the result? My partition is mounted with
rw,nosuid,nodev,noexec,noatime,nodiratime,data=ordered.

19-Jan-2015 12:04:27.956 FINE
[ContainerBackgroundProcessor[StandardEngine[Catalina]]]
org.apache.catalina.ha.deploy.WarWatcher.check check cluster
wars at /my/watch/dir 19-Jan-2015 12:04:47.962 FINE
[ContainerBackgroundProcessor[StandardEngine[Catalina]]]
org.apache.catalina.ha.deploy.WarWatcher.check check cluster
wars at /my/watch/dir 19-Jan-2015 12:05:07.967 FINE
[ContainerBackgroundProcessor[StandardEngine[Catalina]]]
org.apache.catalina.ha.deploy.WarWatcher.check check cluster
wars at /my/watch/dir


It looks like WarWatcher looks for WAR files that end in .war
specifically: it must be all lower-case.

Would you be willing to build your own Tomcat from source if I
send you a source patch? I could add some logging and you can get
more information.

-chris



-



To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org

mailto:users-unsubscr...@tomcat.apache.org For additional
commands, e-mail: users-h...@tomcat.apache.org
mailto:users-h...@tomcat.apache.org



Hello,

Yes, absolutely. Also, I just verified: the name of my file is
exactly “ROOT.war”, with this case.


http://people.apache.org/~schultz/patches/WarWatcher.log.patch

Kick-up the log level for the WarWatcher class to TRACE and re-try.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org

iQIcBAEBCAAGBQJUvnVLAAoJEBzwKT+lPKRYSEkP/jXmu1J8CEpnSNtDvdZjsKvc
eUvNlEO8ul6cAbEH2FnEpN26CmXLwGNdCmN17THElUI+O/j2nH/HMqEtD3wSRsdj
bp9Vy4bKAhAu9rsOwNIlW8aY3mcDTQp+sKF55RzpXqxP4aO7UyxXgHwlZavJvNB6
ockn7NV/qPafhJRTBiahdB9pHAB6yXAToaUn1GlITDtTLHYY4BG3a3084mh6I406
70vOMYOM4E9vDRcEreI7gANg6Zbc299UrHPG/9Q+YnHtogw1hd7YheraMF7iyzFj
WYcmEZjjZfOWRT8MtRokBaj3WgugHHIJZ6rYW4Snb6O9Lp6Gox4LBoro41++RJsm
oRLnyYe8fW81OjivEgjiyxHD49yFrPcEhOnAVguCBD/wVeBUafcbvGgnCHbY44ma
rPtkrKF25JuELmb2jcYO0Q1/C2edG/G7SzCYTAUquNlFrepCwjfecyXqA7iJncte
8hBMO0D3ukJOZsXtlwGS4O2v+ulXH3e/7KUIN45XDy0RTzDPlnEndC6/1D0Oxcgc
muPiFg/EzI6jNi2hSFOJSluJ5RaK6brifOHki8NK7obBMcj4CWs1Rs03Av9oA6BD
wtldS6S6ZesQCyY73d4gHqdJHYMv0j+jvG0sn3eKDULrdnXgYqDjkVmYDWSlkpqB
v4reNZCAQ7K6157+eVIr
=FGW0
-END PGP SIGNATURE-

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


Thanks, found my problem by adding even more debugging than you.
So, it came down to my watchDir being in 644 and not 755.

Because of this, the war.exists() in the modified() function of the 
WarInfo class returned false.
What was misleading is that the watchDir.listFiles(new WarFilter()) 

RE: FarmWarDeployer not checking watchDir

2015-01-20 Thread Caldarale, Charles R
 From: Christopher Schultz [mailto:ch...@christopherschultz.net] 
 Subject: Re: FarmWarDeployer not checking watchDir

 So you can get a list of names, but you can't get any other
 information about the files, like anything returned by stat().

Correct; stat() retrieves metadata that's stored in the inode, so you must have 
access to the inode, not just the directory entry.

 everything gave me either an error (e.g. ls) or en empty listing (vi)
 of that directory.

Expected; there are no standard tools I'm aware of that _only_ read and display 
directory entries; pretty much everything wants to go deeper to the target of 
the directory entry (the inode).

 I think the JRE uses honest-to-goodness execute permissions for
 certain things on modern (read: NT) filesystems, but I think there are
 some files that have implicit execute permission (like anything ending
 in .com, .exe, .pif, .bat, .cmd, or maybe others as well).

There actually is an explicit execute permission in Windows (separate from 
read) for files; for directories, there's a list-folder-contents permission 
akin to POSIX execute.  Any file in Windows can be marked as executable; the 
extension list is just the set of extensions Windows checks for when a command 
is given without an extension.

  Seems a bit odd that a .jar or .war file would need execute
  access, though.

? Not looking for execute privs on the WAR... only the containing
 directory.

Ahh - I misunderstood.

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: FarmWarDeployer not checking watchDir

2015-01-20 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Konstantin,

On 1/20/15 12:06 PM, Konstantin Kolinko wrote:
 2015-01-13 21:38 GMT+03:00 Théo Chamley theo...@mley.fr:
 Hello,
 
 I have setup a Tomcat cluster and I am now trying to get the
 FarmWarDeployer to work. However, it seems that the Deployer
 never checks my watchDir and therefore never finds my new wars to
 deploy.
 
 When starting Tomcat, the logs indicate that the Deployer is
 started: 13-Jan-2015 19:21:43.942 INFO [Catalina-startStop-1] 
 org.apache.catalina.ha.deploy.FarmWarDeployer.start Cluster
 deployment is watching [/my/watch/dir/] for changes. 13-Jan-2015
 19:21:43.942 INFO [Catalina-startStop-1] 
 org.apache.catalina.ha.deploy.FarmWarDeployer.start Cluster
 FarmWarDeployer started.
 
 But nothing more, even for extended periods of time after putting
 my ROOT.war inside my watchDir.
 
 I checked the source code 
 (https://github.com/apache/tomcat80/blob/trunk/java/org/apache/catalina/ha/deploy/FarmWarDeployer.java),

 
and it seems that the check must be done once every two backgroundProcess
 calls, but I don't understand when this function is supposed to
 be called or if there is a way to force the check.
 
 I feel like I am missing something obvious...
 
 
 Here is my config: Oracle JDK 1.8.0_25 Tomcat 8.0.15 server.xml: 
 Host name=www.exemple.com appBase=/my/app/base 
 unpackWARs=true autoDeploy=true
 
 Cluster className=org.apache.catalina.ha.tcp.SimpleTcpCluster 
 channelSendOptions=6 Manager 
 className=org.apache.catalina.ha.session.BackupManager 
 expireSessionsOnShutdown=false 
 notifyListenersOnReplication=true mapSendOptions=6/ 
 Channel 
 className=org.apache.catalina.tribes.group.GroupChannel 
 Membership 
 className=org.apache.catalina.tribes.membership.McastService 
 address=228.0.0.4 port=45564 frequency=500 dropTime=3000 
 bind=10.0.0.1/ Receiver 
 className=org.apache.catalina.tribes.transport.nio.NioReceiver 
 address=10.0.0.1 port=5000 selectorTimeout=100 
 maxThreads=6/ Sender 
 className=org.apache.catalina.tribes.transport.ReplicationTransmitter

 
Transport
 className=org.apache.catalina.tribes.transport.nio.PooledParallelSender/

 
/Sender
 Interceptor 
 className=org.apache.catalina.tribes.group.interceptors.TcpFailureDetector/

 
Interceptor
 className=org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor/

 
Interceptor
 className=org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor/

 
/Channel
 Valve className=org.apache.catalina.ha.tcp.ReplicationValve
 
 filter=.*.gif|.*.js|.*.jpeg|.*.jpg|.*.png|.*.css|.*.txt/
 
 Note . before file name extension has to be escaped to mean a 
 literal '.' instead of any-character pattern, .*\.gif etc.


Fortunately, regex . any-character also includes .. So this
configuration is merely misleading, not incorrect.

 Deployer 
 className=org.apache.catalina.ha.deploy.FarmWarDeployer 
 tempDir=/my/temp/dir/ deployDir=/my/app/base/ 
 watchDir=/my/listen/dir/ watchEnabled=true/
 
 I wonder why there are two getter methods for watchEnabled property
 in FarmWarDeployer,
 
 [[[ public boolean isWatchEnabled() { return watchEnabled; }
 
 public boolean getWatchEnabled() { return watchEnabled; }
 
 public void setWatchEnabled(boolean watchEnabled) { 
 this.watchEnabled = watchEnabled; } ]]]

Because humans often want getBooleanProperty, but Java Beans usually
have isBooleanProperty.

 ClusterListener 
 className=org.apache.catalina.ha.session.ClusterSessionListener/

 
/Cluster
 /Host
 
 
 The logs now show that the listen dir is checked, but nothing
 more, even if I repeatedly touch the ROOT.war file. And  from
 the source code, I won't have more information from the logs… 
 Could the mount options of the file system influence the result?
 My partition is mounted with 
 rw,nosuid,nodev,noexec,noatime,nodiratime,data=ordered.
 
 19-Jan-2015 12:04:27.956 FINE [ContainerBackgroundProcessor[
 StandardEngine[Catalina]]] 
 org.apache.catalina.ha.deploy.WarWatcher.check check cluster wars
 at /my/watch/dir
 
 
 Note that message says /my/watch/dir,  but the configuration
 above uses /my/listen/dir/.

Good catch. Something isn't right, here.

 What are access permissions for the directory and for the file.
 Is there search permission on the directory, is the file readable?
 
 E.g. if the directory is not readable File.listFiles() returns
 null, but the code interprets it as an empty list, silently
 proceeding further.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org

iQIcBAEBCAAGBQJUvswUAAoJEBzwKT+lPKRYfSIP/A9+QxLtLnh30eDXGTk586ci
yCOVBo/EzLZADItNzIVhaHWj9lwq8rQHlsjNHEumqlEPK/9esxbbaJ4SMRfCiCty
K3/rwWJC3DgHJmv6sA8GWqlUIM8Cie4mBKV00Tv5aekNLfa8stzzCNjTkQ4bSg8y
iQgYu1K4JoYkEcp9WmrZpk/95SA57UQLs1D5s1ftYsu6Y8lFTMq30IMrnvCu8aLy
dJS4SmGc3NbvPt7dVdEo41+WvM0o/m+H+QScrE8kgXVGGbsNPb2kwG943xD29vxu
L1LG1hYwh6pT0hson9B6fd7ZAwjL9rbSZJ28g3TeVpahYH9I6kOPRadt6T186ndn

Re: FarmWarDeployer not checking watchDir

2015-01-20 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Théo,

On 1/20/15 12:42 PM, Théo Chamley wrote:
 Thanks, found my problem by adding even more debugging than you. 
 So, it came down to my watchDir being in 644 and not 755.

So, missing the execute bit?

 Because of this, the war.exists() in the modified() function of
 the WarInfo class returned false. What was misleading is that the
 watchDir.listFiles(new WarFilter()) function (line 71 of
 WarWatcher.java) was able to list the content of the directory…

I'll check out that behavior: WarWatcher can certainly use some
polishing as I've seen by looking at a bit of that code.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org

iQIcBAEBCAAGBQJUvtnIAAoJEBzwKT+lPKRYT5oP/3iPBQEFI0ApXwGnHC7C1dBW
uE/k1AvPCCO9kr7JtGe3f8sDsVgeMOLTbolmZyE9b78Hom/TFQfzKbnhQhwDtiuc
99P/kE5dr+5eAv3FaUSvOMYUl4SG67MrfO3H4BR/odVP+/Fqqr4xX+spwxYqeLr7
eSijQpmXHFvBQIjKDG1opBaKAG3+EIiwXTw4WdH+lXrU4XtzWzpAkBca7RL/1Id5
i/WJ0jqcc3btNlI4iodei9iog7A1Cy/8QDfDVYEoNBqqVy994y7+L6mzVFf/GUV3
fIYBNU5aXmPorsrDvGvO0vGINOQWpR74gK0m0b2wXKRxCyIk60nxs62zQT7hDVhw
NjFp3oBpiNPYpIq+wWMtfJYZBI/OhJOmf/aDyYWJbs476tDqVrgieDjTVsl0hxoC
L3ofZ74vOcVJWqVymITuoU67WL9u7IPlnVrASA6dHsxuywH+6aN8Gzf/RGqkcqB5
3z8NKPeCkUmqFGp5ucWDSxGmFp5nv0ZoquvRHUbGdAVmIibypYAvCkKXkHLEg6J2
sLjhV2l9BwEhbvGMuUahriYbyLirnAGphKu1YQXJFPBPoxYD1Q4U4akA/0Yl8EDB
SsTlKDac1eReaqGAnozgBNkX+t0tb2mUa03rcLFBRJ07zNUVR94af22TDdweWIxg
Yum/aS6FljVOJlZ7KUjA
=COo+
-END PGP SIGNATURE-

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: FarmWarDeployer not checking watchDir

2015-01-20 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Théo,

On 1/20/15 5:53 PM, Théo Chamley wrote:
 Yes, that’s it. A chmod +x on my watchDir fixed the problem (I knew
 I was missing something silly…). As for Konstantin’s remark on the
 path, I changed it before posting and made a mistake at this
 moment. The real path, which is the same everywhere, contains the
 name of my client.

Can you build with an updated patch[1], re-break your directory
permissions and re-run Tomcat? Let me know if the log output you get
would have led you to a solution more quickly.

- -chris

[1] http://people.apache.org/~schultz/patches/WarWatcher.log.patch.2
-BEGIN PGP SIGNATURE-
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org

iQIcBAEBCAAGBQJUvuGlAAoJEBzwKT+lPKRYyd8P/18WH3l5MzLI47Wf/8lQZlu6
XN7tAie5SDfyXQs8HSbUEem7czf7wX6f2rgK29p0Ai1VAWb1RjKPYHMymgJQa25+
+qTxRzEw+Mvs16OuyqL92iH+260IYcbbIAWwz7GyjHNm0iAkG9EIx3QBriNOiZPR
6udYM+46FyKx79ptD0aRd15J08p3SXxdKjqoAtU1kaX0/+fkmAdmdn4jyTbkTpkg
3MgF+qF0Cj+VN/8HJZX1ywWGHXmMwR8XNfgp8nxS+A3cmdbfGXs5JOnMOrXpFzdJ
nXgKnuzuixPKqqeZlMTHptxvCQkY0fooOWeJwIOwa2CGGLC9PnjIzP+NzDk637yy
viQ3W4rZmKuzMa1+evBIJTCGme6vi38gbZ491bWB39xTW4OBngc5J2PBcqfPW+as
SOMv7IMUSXqB0pKWG7g7V5qW4eYjcNOcYi1ntVQHVkUQzdd3mCG3jBYFEL3aj07Y
P8X69lDTndO5pMseuJq0I7VmDZZx4mV5rxjgWqLtr+quJKLTgHK0DazsXgeoeQdk
Qjh7JxQxcqX+fqUbURuPqcgB9WlAI4yfxIyxTzibjbtyGJkgrwMjepZ9uz8wWdXw
1/mrSxSGYFO+FPsPZSw3/D8+Y7oFkFLN9UiPJj8y967TFcsfq450HDboewxnhZ9U
62BZonqvKo8mz7TFFkNp
=bXkY
-END PGP SIGNATURE-

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: FarmWarDeployer not checking watchDir

2015-01-20 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Chuck,

On 1/20/15 6:10 PM, Caldarale, Charles R wrote:
 From: Christopher Schultz [mailto:ch...@christopherschultz.net] 
 Subject: Re: FarmWarDeployer not checking watchDir
 
 I'm actually really surprised that File.list() returns a list of
 files for the directory that does not have execute permissions.
 
 That's per the POSIX standard: you only need read access on the 
 directory to see directory entries (which pretty much consist only
 of names and inode numbers), but you need execute access on the
 directory to actually reach the inodes those directory entries
 point to.

So you can get a list of names, but you can't get any other
information about the files, like anything returned by stat().

I tried every other tool I could think of (stat, ls, vi, less, etc.)
short of writing the program in C myself to see what I could see, and
everything gave me either an error (e.g. ls) or en empty listing (vi)
of that directory.

 And, of course, Windows knows nothing about this... (meaning the
 JRE has to fake it a bit).

I think the JRE uses honest-to-goodness execute permissions for
certain things on modern (read: NT) filesystems, but I think there are
some files that have implicit execute permission (like anything ending
in .com, .exe, .pif, .bat, .cmd, or maybe others as well).

 Seems a bit odd that a .jar or .war file would need execute
 access, though.

? Not looking for execute privs on the WAR... only the containing
directory.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org

iQIcBAEBCAAGBQJUvuKIAAoJEBzwKT+lPKRY/+AP/RmAdEas/AiQT7cvgaJcUbIA
QRrbm05u7S9rVC0fSVLKikJplyxIcITBGkAwDL2QbmdbeykvWY1mMnyw0vQONBG0
Zv4zdxGlQ35PuLQCB/zYrTyuAH3GX5xtp7cHWoyxbOjFjP8psC4jUaHAEftqcNhY
kXvxn1FjwnGKJ89Ijwf6iNMVxS7suUV5fcYsI6RBhwYElmg1Mwub8iW3eO1n2FIp
VoIOLOYzUasfThfpBFczjh/PmbvO1s5F58zSS+4Hq5wFUVn7cBvJjXTOE33oYoYH
GP9KHOaKFiCKbxOLxmN40TG27zoJjM3lb0ptwzBZlyUKEnZ1Dd33y8v/wa3T29ah
JGHWaqHFCt/uGNGf9C3HRzJdomqsmTT9yNgnDpTf4lNUkd67N/Iea6UE4eKqfFFC
jlh5ZOnPftSaZNV4feNwYqpZyd2aqhHvbZvH/Bs17YOrSDUlE6MtqStVU4aBIKH4
iPXw7liHS1u0f/9UTpYbrWGrOFpwb1c/AD+SOd7s0cEqlFEtoB9G/Soj6jLLyzFe
/DdlUMHhKUsQyiexBBYTOUBJu9MBiyhN1uJbGV7jSj014MkExnkh8BsXQgbomQ2n
6PyG/aWlBeeY+VaSqfAxiP5r5HGO9aUPMd7fPE9O7geIw4WCFSDZyua7DXLIIlR+
Xz70XfscxWP8tT5NNakC
=/69Q
-END PGP SIGNATURE-

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: FarmWarDeployer not checking watchDir

2015-01-20 Thread Caldarale, Charles R
 From: Christopher Schultz [mailto:ch...@christopherschultz.net] 
 Subject: Re: FarmWarDeployer not checking watchDir

 I'm actually really surprised that File.list() returns a list of files
 for the directory that does not have execute permissions.

That's per the POSIX standard: you only need read access on the directory to 
see directory entries (which pretty much consist only of names and inode 
numbers), but you need execute access on the directory to actually reach the 
inodes those directory entries point to.

And, of course, Windows knows nothing about this... (meaning the JRE has to 
fake it a bit).

Seems a bit odd that a .jar or .war file would need execute access, though.

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: FarmWarDeployer not checking watchDir

2015-01-20 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Théo,

On 1/20/15 5:42 PM, Christopher Schultz wrote:
 Théo,
 
 On 1/20/15 12:42 PM, Théo Chamley wrote:
 Thanks, found my problem by adding even more debugging than you. 
 So, it came down to my watchDir being in 644 and not 755.
 
 So, missing the execute bit?
 
 Because of this, the war.exists() in the modified() function
 of the WarInfo class returned false. What was misleading is that
 the watchDir.listFiles(new WarFilter()) function (line 71 of 
 WarWatcher.java) was able to list the content of the directory…
 
 I'll check out that behavior: WarWatcher can certainly use some 
 polishing as I've seen by looking at a bit of that code.

I have confirmed that Java can evidently list files in a directory
without execute permissions, but then the files don't exist as far
as File.exists is concerned:

$ java PermissionsTest 644 755 644/a_file 755/a_file
== File: 644
   exists: true
   canread: true
   canwrite: true
   canexecute: true
   children: [a_file]
== File: 755
   exists: true
   canread: true
   canwrite: true
   canexecute: true
   children: [a_file]
== File: 644/a_file
   exists: false
   canread: false
   canwrite: false
   canexecute: false
   children: null
== File: 755/a_file
   exists: true
   canread: true
   canwrite: true
   canexecute: true
   children: null

I'm actually really surprised that File.list() returns a list of files
for the directory that does not have execute permissions.

The problem with checking for execute permission is that it's a *NIX
implementation detail: on Windows, it would fail.

However, we *can* check to see that File.list() returns a list of
files that do exist. If the deployment directory is empty at startup,
there's no way to test this.

We could check in WarWatcher.check() to see if watchDir.listFiles
returns a list of non-existent files. There are some race-conditions
there but we could issue a WARN log message that something funny might
be going on.

Unfortunately, anything that's going to be perfect is going to be a
huge mess of platform-specific checks.

Can you log a Bugzilla enhancement for this? I'll add some checking to
WarWatcher as well as improved logging.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org

iQIcBAEBCAAGBQJUvt12AAoJEBzwKT+lPKRY9Y8P/1J7Txcg7BBvSF8v0lgDVOs8
uu//+/vzQBbCV8qk0cTXtwHet5165rQjsRA7Vf5uFPrj9EL1KJ/vAoMiS7QmeFoS
gl2DGMtk1hXUNikxE0lRRuUlaKWoDOB7uowH2BHL5zKJEYZDASdXsXoNJ9pPGCTV
EnnjtBmMvC6Br41UCXSfCEdFySR9StMblWGZply9VsRIRDNoc1Wz7BatBN0840NK
Gukri2vlkNuiagno2I6NFBNZpU/uQ0a2r6xR0c5PS4ufzDy/n3VRljBNxHJy8I/r
4SmB7CwZXVE2cF2tg0+1xvta67qyyqvLe+CWURwTJvNu2DurVcVk3jO2JMFfXrHY
C3xZyhyeV8q3RZshrpRw62dkpNUIN/dHnsEG0GtHSYHTuXDbSbbm0b5XdRQP0wGy
umlHNkTwO2qfQT2dVCigNd7YNvMMwU9Z0S2k+vnx2+0NkuxMEHbzCuvD5Gv0XUHT
XG01+JMz9m6j6QGJjDa8lpjubDPDpAvnJgVe/FHABQeZcJkMrXgT5Ew60Oa0PrFJ
c/JgZTGR+8oeqDbmeMMRIBBQP7cQFaJHUIRWWAUwTMUaWeUT1afV91MR0oCNGZ50
oTTWrogipwewwWyUpZCTX7X3zJXs4z9yoEobm1XDB6in2jbq42Pru8QR+00s1FtZ
SRNEoGN/aGY4MyxEh9Ve
=nlfK
-END PGP SIGNATURE-

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: FarmWarDeployer not checking watchDir

2015-01-20 Thread Théo Chamley

 On 20 Jan 2015, at 23:42, Christopher Schultz ch...@christopherschultz.net 
 wrote:
 
 Signed PGP part
 Théo,
 
 On 1/20/15 12:42 PM, Théo Chamley wrote:
  Thanks, found my problem by adding even more debugging than you.
  So, it came down to my watchDir being in 644 and not 755.
 
 So, missing the execute bit?
 
  Because of this, the war.exists() in the modified() function of
  the WarInfo class returned false. What was misleading is that the
  watchDir.listFiles(new WarFilter()) function (line 71 of
  WarWatcher.java) was able to list the content of the directory…
 
 I'll check out that behavior: WarWatcher can certainly use some
 polishing as I've seen by looking at a bit of that code.
 
 -chris
 
 
 -
 To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
 For additional commands, e-mail: users-h...@tomcat.apache.org
 

Yes, that’s it. A chmod +x on my watchDir fixed the problem (I knew I was 
missing something silly…).
As for Konstantin’s remark on the path, I changed it before posting and made a 
mistake at this moment. The real path, which is the same everywhere, contains 
the name of my client.

Théo


signature.asc
Description: Message signed with OpenPGP using GPGMail


Re: FarmWarDeployer not checking watchDir

2015-01-19 Thread Théo Chamley

On 2015-01-16 19:33, Christopher Schultz wrote:

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Théo,

On 1/13/15 1:38 PM, Théo Chamley wrote:

I have setup a Tomcat cluster and I am now trying to get the
FarmWarDeployer to work. However, it seems that the Deployer never
checks my watchDir and therefore never finds my new wars to
deploy.

When starting Tomcat, the logs indicate that the Deployer is
started: 13-Jan-2015 19:21:43.942 INFO [Catalina-startStop-1]
org.apache.catalina.ha.deploy.FarmWarDeployer.start Cluster
deployment is watching [/my/watch/dir/] for changes. 13-Jan-2015
19:21:43.942 INFO [Catalina-startStop-1]
org.apache.catalina.ha.deploy.FarmWarDeployer.start Cluster
FarmWarDeployer started.

But nothing more, even for extended periods of time after putting
my ROOT.war inside my watchDir.

I checked the source code
(https://github.com/apache/tomcat80/blob/trunk/java/org/apache/catalina/ha/deploy/FarmWarDeployer.java),



and it seems that the check must be done once every two

backgroundProcess calls, but I don't understand when this
function is supposed to be called or if there is a way to force the
check.


Can you enable DEBUG logging for 
org.apache.catalina.ha.deploy.WarWatcher?


The backgroundProcess method will be called by the background thread
that is launched for the server. It's not something you will generally
have to manage yourself.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org

iQIcBAEBCAAGBQJUuVl6AAoJEBzwKT+lPKRYhIoQAJMzLhRpFFU5uERc4ssyxaVY
DE8GPVm2QNW38cqrJevYA6MlOExCAbWZDRnp1sCaMG28mFNTg5aIvz4/R1dKOZ6+
sSYc8TZgnJTDELry0n6TgHfJsaU0iFY4dtajOL9vuOjcqrn0i0uNQaVo+8ziffm6
5/RKk7HmbqX+XMyvTqWeoNXLfcF6t4WN4TQ47GSlyAgcRiyo46aWvwcEBaiWLXp/
dK4WZKzbhhsfm1b6kAg8WGwCIuwW1hEIGTyQPgyR+yxny9imIfsCYdTOmOX744Ll
VE+aaK2naSEqZcgN1D/C/479PJeorRNIgM46vzS8d36Cr6fB/jDUd8oOIGMpY5Rs
NmiB/YJwb7pjrzgRggwy/73EEL5WsyIO4D/RYKa5SZcChSMjqmAR7Z+nQau6nBks
jWC10kVJmUqAkVprzq7+0xnWHvk8BCxH16RTUmET3yDim/3F8/em2hLLpJLHROMd
e9B0mP4rlLeSnB6bbBAmQU9bYuZlqplDJlEpSEPX6L9Xmcdy1jKA8eQ5vgm1AVN6
CTemn/+R+o+p7bWu3TyoSnkr0pK9AWIAr/BIXf7AztnHOU0Cwwsa9dlDP6c922fU
Kb7fNZ1W6jJZcMRgR8otQf+HA9ypAsh+AmYZFgsLeaRUVXMmJcitMbELG3t95gEh
La5UcqT2xHt6zQjRYfRU
=I3ia
-END PGP SIGNATURE-

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


Hello,

Thank you for your answer.
The logs now show that the listen dir is checked, but nothing more, even 
if I repeatedly touch the ROOT.war file. And from the source code, I 
won't have more information from the logs…
Could the mount options of the file system influence the result? My 
partition is mounted with 
rw,nosuid,nodev,noexec,noatime,nodiratime,data=ordered.


19-Jan-2015 12:04:27.956 FINE 
[ContainerBackgroundProcessor[StandardEngine[Catalina]]] 
org.apache.catalina.ha.deploy.WarWatcher.check check cluster wars at 
/my/watch/dir
19-Jan-2015 12:04:47.962 FINE 
[ContainerBackgroundProcessor[StandardEngine[Catalina]]] 
org.apache.catalina.ha.deploy.WarWatcher.check check cluster wars at 
/my/watch/dir
19-Jan-2015 12:05:07.967 FINE 
[ContainerBackgroundProcessor[StandardEngine[Catalina]]] 
org.apache.catalina.ha.deploy.WarWatcher.check check cluster wars at 
/my/watch/dir


Thanks,

Théo


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: FarmWarDeployer not checking watchDir

2015-01-19 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Théo,

On 1/19/15 6:11 AM, Théo Chamley wrote:
 On 2015-01-16 19:33, Christopher Schultz wrote: Théo,
 
 On 1/13/15 1:38 PM, Théo Chamley wrote:
 I have setup a Tomcat cluster and I am now trying to get the 
 FarmWarDeployer to work. However, it seems that the Deployer
 never checks my watchDir and therefore never finds my new
 wars to deploy.
 
 When starting Tomcat, the logs indicate that the Deployer is 
 started: 13-Jan-2015 19:21:43.942 INFO
 [Catalina-startStop-1] 
 org.apache.catalina.ha.deploy.FarmWarDeployer.start Cluster 
 deployment is watching [/my/watch/dir/] for changes.
 13-Jan-2015 19:21:43.942 INFO [Catalina-startStop-1] 
 org.apache.catalina.ha.deploy.FarmWarDeployer.start Cluster 
 FarmWarDeployer started.
 
 But nothing more, even for extended periods of time after
 putting my ROOT.war inside my watchDir.
 
 I checked the source code 
 (https://github.com/apache/tomcat80/blob/trunk/java/org/apache/catalina/ha/deploy/FarmWarDeployer.java),




 
and it seems that the check must be done once every two
 backgroundProcess calls, but I don't understand when this 
 function is supposed to be called or if there is a way to
 force the check.
 
 Can you enable DEBUG logging for 
 org.apache.catalina.ha.deploy.WarWatcher?
 
 The backgroundProcess method will be called by the background
 thread that is launched for the server. It's not something you will
 generally have to manage yourself.
 
 -chris
 
 -

 
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
 For additional commands, e-mail: users-h...@tomcat.apache.org
 
 Hello,
 
 Thank you for your answer. The logs now show that the listen dir is
 checked, but nothing more, even if I repeatedly touch the
 ROOT.war file. And from the source code, I won't have more
 information from the logs… Could the mount options of the file
 system influence the result? My partition is mounted with 
 rw,nosuid,nodev,noexec,noatime,nodiratime,data=ordered.
 
 19-Jan-2015 12:04:27.956 FINE 
 [ContainerBackgroundProcessor[StandardEngine[Catalina]]] 
 org.apache.catalina.ha.deploy.WarWatcher.check check cluster wars
 at /my/watch/dir 19-Jan-2015 12:04:47.962 FINE 
 [ContainerBackgroundProcessor[StandardEngine[Catalina]]] 
 org.apache.catalina.ha.deploy.WarWatcher.check check cluster wars
 at /my/watch/dir 19-Jan-2015 12:05:07.967 FINE 
 [ContainerBackgroundProcessor[StandardEngine[Catalina]]] 
 org.apache.catalina.ha.deploy.WarWatcher.check check cluster wars
 at /my/watch/dir

It looks like WarWatcher looks for WAR files that end in .war
specifically: it must be all lower-case.

Would you be willing to build your own Tomcat from source if I send
you a source patch? I could add some logging and you can get more
information.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org

iQIcBAEBCAAGBQJUvVgeAAoJEBzwKT+lPKRYn9YQAKk3yBdD0QE2I5R1OB/sl/5+
qb93Kj2mINoYn26HRF6mNpu/C02rcvX1A+pedcnz4FYhtaXhd5bPOI69GP8LBL6p
akswioN3ziw++bWL8aCALK3TrfXh3Iylnikm7HH7YJWLAe6lEemafGP1Dfj3UrIO
pmMgg+dWhFsknVTAL8FQJ3rrzFzRT4MJtndU2pIj0CsHAzVKRyr+4jEeQJPz0pnv
Qb6sziVr83SuIL73lPMPeEu+lKznUEuJPVi1Svlhr7xnJ4Nbka5EFjD4aS7SRW7/
ipppRwMdh9jGV1I8dQG6GUH5oT488j+BWsJQ2WJ7sa+rpZg/kRUor41FYpB+YD1T
kdIZ/xoBV5labbiTGYBpakgIcLyrAiZzvzlpUZOXWCPlDZmiwSzZNTBksHvTkALO
qxjdxxvt9FvqneEoWKpI3qc7vSMk9+6ZNBMvGP3Jfj9YWn4NxesocKGiWirVXtbb
xfoTL/OC4gKPjgLpDdHog8n3WkBJuPcaV9dwoFj18vM3evyH/n2J8b+ujMHLvwq4
Ks7NOyUCpQTGhz8+Hbn8OK/8zVQDj1W61LO/K0zV8QOqg0rla4mEGtoPkOE1DuMc
dI5Q7b5fbiCdH4ORb7vmdY1LwygfMy2fD4pSmK6hcLatwKOETWI8sSBQmAdMjxWv
1R2OrJsb03ezEiDYVedW
=nhqn
-END PGP SIGNATURE-

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: FarmWarDeployer not checking watchDir

2015-01-19 Thread Théo Chamley

 On 19 Jan 2015, at 20:16, Christopher Schultz ch...@christopherschultz.net 
 wrote:
 
 Signed PGP part
 Théo,
 
 On 1/19/15 6:11 AM, Théo Chamley wrote:
  On 2015-01-16 19:33, Christopher Schultz wrote: Théo,
 
  On 1/13/15 1:38 PM, Théo Chamley wrote:
  I have setup a Tomcat cluster and I am now trying to get the
  FarmWarDeployer to work. However, it seems that the Deployer
  never checks my watchDir and therefore never finds my new
  wars to deploy.
 
  When starting Tomcat, the logs indicate that the Deployer is
  started: 13-Jan-2015 19:21:43.942 INFO
  [Catalina-startStop-1]
  org.apache.catalina.ha.deploy.FarmWarDeployer.start Cluster
  deployment is watching [/my/watch/dir/] for changes.
  13-Jan-2015 19:21:43.942 INFO [Catalina-startStop-1]
  org.apache.catalina.ha.deploy.FarmWarDeployer.start Cluster
  FarmWarDeployer started.
 
  But nothing more, even for extended periods of time after
  putting my ROOT.war inside my watchDir.
 
  I checked the source code
  (https://github.com/apache/tomcat80/blob/trunk/java/org/apache/catalina/ha/deploy/FarmWarDeployer.java),
 
 
 
 
 
 and it seems that the check must be done once every two
  backgroundProcess calls, but I don't understand when this
  function is supposed to be called or if there is a way to
  force the check.
 
  Can you enable DEBUG logging for
  org.apache.catalina.ha.deploy.WarWatcher?
 
  The backgroundProcess method will be called by the background
  thread that is launched for the server. It's not something you will
  generally have to manage yourself.
 
  -chris
 
  -
 
 
 To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
  For additional commands, e-mail: users-h...@tomcat.apache.org
 
  Hello,
 
  Thank you for your answer. The logs now show that the listen dir is
  checked, but nothing more, even if I repeatedly touch the
  ROOT.war file. And from the source code, I won't have more
  information from the logs… Could the mount options of the file
  system influence the result? My partition is mounted with
  rw,nosuid,nodev,noexec,noatime,nodiratime,data=ordered.
 
  19-Jan-2015 12:04:27.956 FINE
  [ContainerBackgroundProcessor[StandardEngine[Catalina]]]
  org.apache.catalina.ha.deploy.WarWatcher.check check cluster wars
  at /my/watch/dir 19-Jan-2015 12:04:47.962 FINE
  [ContainerBackgroundProcessor[StandardEngine[Catalina]]]
  org.apache.catalina.ha.deploy.WarWatcher.check check cluster wars
  at /my/watch/dir 19-Jan-2015 12:05:07.967 FINE
  [ContainerBackgroundProcessor[StandardEngine[Catalina]]]
  org.apache.catalina.ha.deploy.WarWatcher.check check cluster wars
  at /my/watch/dir
 
 It looks like WarWatcher looks for WAR files that end in .war
 specifically: it must be all lower-case.
 
 Would you be willing to build your own Tomcat from source if I send
 you a source patch? I could add some logging and you can get more
 information.
 
 -chris
 
 
 -
 To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
 For additional commands, e-mail: users-h...@tomcat.apache.org
 

Hello,

Yes, absolutely.
Also, I just verified: the name of my file is exactly “ROOT.war”, with this 
case.

Best,

Théo



signature.asc
Description: Message signed with OpenPGP using GPGMail


Re: FarmWarDeployer not checking watchDir

2015-01-16 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Théo,

On 1/13/15 1:38 PM, Théo Chamley wrote:
 I have setup a Tomcat cluster and I am now trying to get the 
 FarmWarDeployer to work. However, it seems that the Deployer never
 checks my watchDir and therefore never finds my new wars to
 deploy.
 
 When starting Tomcat, the logs indicate that the Deployer is
 started: 13-Jan-2015 19:21:43.942 INFO [Catalina-startStop-1] 
 org.apache.catalina.ha.deploy.FarmWarDeployer.start Cluster
 deployment is watching [/my/watch/dir/] for changes. 13-Jan-2015
 19:21:43.942 INFO [Catalina-startStop-1] 
 org.apache.catalina.ha.deploy.FarmWarDeployer.start Cluster 
 FarmWarDeployer started.
 
 But nothing more, even for extended periods of time after putting
 my ROOT.war inside my watchDir.
 
 I checked the source code 
 (https://github.com/apache/tomcat80/blob/trunk/java/org/apache/catalina/ha/deploy/FarmWarDeployer.java),

 
and it seems that the check must be done once every two
 backgroundProcess calls, but I don't understand when this
 function is supposed to be called or if there is a way to force the
 check.

Can you enable DEBUG logging for org.apache.catalina.ha.deploy.WarWatcher?

The backgroundProcess method will be called by the background thread
that is launched for the server. It's not something you will generally
have to manage yourself.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org

iQIcBAEBCAAGBQJUuVl6AAoJEBzwKT+lPKRYhIoQAJMzLhRpFFU5uERc4ssyxaVY
DE8GPVm2QNW38cqrJevYA6MlOExCAbWZDRnp1sCaMG28mFNTg5aIvz4/R1dKOZ6+
sSYc8TZgnJTDELry0n6TgHfJsaU0iFY4dtajOL9vuOjcqrn0i0uNQaVo+8ziffm6
5/RKk7HmbqX+XMyvTqWeoNXLfcF6t4WN4TQ47GSlyAgcRiyo46aWvwcEBaiWLXp/
dK4WZKzbhhsfm1b6kAg8WGwCIuwW1hEIGTyQPgyR+yxny9imIfsCYdTOmOX744Ll
VE+aaK2naSEqZcgN1D/C/479PJeorRNIgM46vzS8d36Cr6fB/jDUd8oOIGMpY5Rs
NmiB/YJwb7pjrzgRggwy/73EEL5WsyIO4D/RYKa5SZcChSMjqmAR7Z+nQau6nBks
jWC10kVJmUqAkVprzq7+0xnWHvk8BCxH16RTUmET3yDim/3F8/em2hLLpJLHROMd
e9B0mP4rlLeSnB6bbBAmQU9bYuZlqplDJlEpSEPX6L9Xmcdy1jKA8eQ5vgm1AVN6
CTemn/+R+o+p7bWu3TyoSnkr0pK9AWIAr/BIXf7AztnHOU0Cwwsa9dlDP6c922fU
Kb7fNZ1W6jJZcMRgR8otQf+HA9ypAsh+AmYZFgsLeaRUVXMmJcitMbELG3t95gEh
La5UcqT2xHt6zQjRYfRU
=I3ia
-END PGP SIGNATURE-

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org