1. lookup obj in dir

possible that dir contains obj but obj precise invalidate has not arrive yet
(multipleObjPreciseInv can't guarantee that if obj in dir, then obj will exist
because it is possible that the dir is not part of
subscription before. And I catch up the dir by checkpoint which does not include
the object). therefore, will complain "FileNotFound" return err_stale.

This is fine, if we retry it, we will get the object correct eventually.

Problem:
Node A creates foo, bar at /root,
node B subscribes for /root, "ls" at B can list the files foo, bar, but it can't
get the meta data of foo and bar. 

look into the meta files's replication.

2. replace periodic check for neighbors and goldnodes by 
   tmpDownNode and deadnode events.

   the periodic is really expensive and too much workloads in p2
   use event driven instead.

- done.

3. check all the tables/events such that the members are consistent.
   the inconsistent members will cause "segment fault" which could
   lead the problem of JVM crash.
   For instance: I have a materized table: T: id1, id2, id3
   if I have a rule:  r1 delete T@X(X, id1, id2) :- periodic...
   ==> segment fault

- done

4. move runpfs_rossi_boniperti.sh from code to code/case-studies/Pangaea
   mv test/*.config .p2config .map to java code using Config.java interface
   so that we don't have to guard the content of files, make less dependancy
   that's hard to check.


5. P2Runtime demandRead sender throws ObjectNotFound
   what will happen in p2? 

   Receiver will get demandRead failed inform event.
   
6. SingleWriterLogUncommited -- make sure that the minCounter is at least 0 if
   item != null;

7. for the pingpong problems.
   the solution is to advance the catchupInvalIterator and mainInvalIterator 
   to advance the cvv.

   need also to check the pending cp requests, more complicated because we
   have to check the subscriptionset.

   might be ok when we implement it the way to always send the checkpoint,
   and send a catchup log for the checkpoint gap from cp.cvv to prevVV

8. run A and A talked to B, then shutdown B and restart B, When B tries to talk
   to A, A will complaining broken pipe, connection closed.
   P2Runtime should take care of this. -- check.
