Skip to main content

Resync not working for library files for specific cluster instance

3 replies [Last post]
sahlix
Offline
Joined: 2007-02-01
Points: 0

Sorry for the double post. Server replied an error...
Please see http://www.java.net/forum/topic/glassfish/glassfish/resync-not-working-l...

Hello all.
I'm establishing two clusters on two nodes with 2 instances each. One cluster is for production use, the other is for deployment of new release versions so I can change software versions without loss of availability. I don't need session persistence so session replication to the new cluster is not necessary.
However, I've got a problem with synchronization between the DAS and the instances. Because the two clusters are running in the same domain, I use different configurations, one for each cluster. Now, the High Availability Administration Guide (HAAG) tells me, to put all cluster specific libraries in <domain-dir>/config/<config-name>/lib directory. Again, the HAAG tells me to trigger a resync on instance restart by 'touch'-ing a top-level file in the directory mentioned above. After restarting the instance(s) the timestamp on the library directory in the config/<config-name> directory changed, but the contents of the directory is not synced.
After trying for half a day I did an export-sync-bundle call and looked into the generated sync-zip-file. What I saw was, that the library directory appears in the file, but - again - the contents of the directory does _not_ appear in the zip-file. I've already double checked the locations and existence of the file in the DAS. It's all there.
What am I missing?
Best regards,
Alexander.

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
tmueller
Offline
Joined: 2005-10-31
Points: 0

This appears to be a bug. Would you like to file a JIRA issue?

In the ServerSynchronizer.synchronizeConfigSpecificDir method, the call
to getFileName passes in SyncLevel.DIRECTORY rather than
SyncLevel.RECURSIVE, which means that only the files at the top level of
the config specific directory are synchronized rather than all files
under the directory.

Unfortunately, there isn't any workaround for this other than fixing the
code.
Or can you include the libraries in your application?

Tom

sahlix
Offline
Joined: 2007-02-01
Points: 0

Hi Tom.

Thank you for answering my question.

Unfortunally, the library contains some basic code with a realm implementation - so it must be visible to the server instance at instance start. I will work around by driving a second domain which is not the best approach but will do until this issue is fixed.

I'd like to file an jira issue - which project in the glassfish jira is appropriate?

Best regards,

Alexander.

tmueller
Offline
Joined: 2005-10-31
Points: 0

Please use the "admin" component within the glassfish JIRA project for a
bug on this issue.

Note that the top-level config-specific directory is synchronized, i.e.,
domains/domain1/config/c1-config/. So if you you put your JAR files in
there, then they will be synchrononized. Since the config needs to be
modified to reference the JAR files, it could just reference it from the
config specific directory rather than the lib directory under that.

Tom