Emmanuel Bernard
Mon, 28 Apr 2008 13:43:04 -0700
On Apr 28, 2008, at 15:03, Sanne Grinovero wrote:
Hello,Nice, I'm going to work on this as soon as my previous patch gets applied.I've some more very minor issues to add to the new patch if you agree: service thread is started by: timer.scheduleAtFixedRate( task, period, period );I would think the first operation should start immediately, not after period.
If you look at the code, the first operation is done synchronously in start() we can't strat HSearch until we have a working Directory ready.
Also I would use schedule( task, long, long) instead of scheduleAtFixedRate; the "atFixedRate" version means it will begin sooner if it started too late,we don't require this (correct?). So I propose: timer.schedule( task, 0, period );
Well I kinda like scheduleAtFixedRate for the copy tasks, it sounds more admin friendly to me. Why do you like schedule better?
Also the timer creates another thread, running concurrently to itself and skipping task if the previous is still working. What would I miss if I just let the Timer do the job, without needing the Executor around? (one less thread and less code to check current activity as the timer supports that check for us).
In the current scheme, the copy is run every n minutes unless the previous tasks takes more than n minutes. In the latter, the task is just skipped. If you don't, then the tasks will pile up and the copy will run over and over (while the tasks try to catch up)
Using the executor it would be nice to share the same executor among several Directory Providers, to have better resource bounds (serialize the copy for different instances of FSSlave/Master Providers). Would a static Executor instance be ugly?
Yes it would be ugly and would probably complicate hot redeployment. What would be the benefit really? I don't like very much the idea of one copy blocking all other copies. Plus there are some deadlocks issues between directories that HSearch deal with internally that might interfere as well if you share the same resource pool.
Threads are cheap.
regards, Sanne 2008/4/28 Emmanuel Bernard <[EMAIL PROTECTED]>:One JIRA / patch is goodSelf-conflict is not always bad "When fight begins within himself, a man'sworth something." - Sir Frederick Browning :) On Apr 27, 2008, at 08:03, Sanne Grinovero wrote:I would like to address A and B first; may Iopen a single JIRA for both? both issues are related to the same filesand I would like to avoid having to produce two different patches, potentiallyconflictingwith myself.
_______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev