com.bigdata.service
Class DistributedTransactionService.NotifyReleaseTimeTask

java.lang.Object
  extended by com.bigdata.service.DistributedTransactionService.NotifyReleaseTimeTask
All Implemented Interfaces:
Runnable
Enclosing class:
DistributedTransactionService

protected class DistributedTransactionService.NotifyReleaseTimeTask
extends Object
implements Runnable

Task periodically notifies the discovered IDataServices of the new release time.

Note: Running a concurrent instance of this could cause release times to be distributed that do not strictly advance. If you need to do this, e.g., in order to immediately update the release time, then also introduce a lock for this task on the AbstractTransactionService so that instances of the task must run in sequence.

Version:
$Id: DistributedTransactionService.java 2265 2009-10-26 12:51:06Z thompsonbry $
Author:
Bryan Thompson
TODO:
must also notify the metadata service once it is partitioned., We could monitor data service joins (for jini) and immediately notify newly joined data services of the current release time. FIXME There is probably no reason to do this now that the resource manager reaches out for the current release time before deciding which resources it can release.

Constructor Summary
protected DistributedTransactionService.NotifyReleaseTimeTask()
           
 
Method Summary
 void run()
          Notifies all IDataServices of the current release time.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DistributedTransactionService.NotifyReleaseTimeTask

protected DistributedTransactionService.NotifyReleaseTimeTask()
Method Detail

run

public void run()
Notifies all IDataServices of the current release time.

Note: An IDataService WILL NOT release its most current commit point, regardless of the releaseTime that is sent to that service.

Note: If this method throws an exception then the task will no longer be scheduled!

Specified by:
run in interface Runnable


Copyright © 2006-2009 SYSTAP, LLC. All Rights Reserved.