From: Bryan T. <tho...@us...> - 2007-02-15 14:23:54
|
Update of /cvsroot/cweb/bigdata/src/java/com/bigdata/journal In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv7688/src/java/com/bigdata/journal Modified Files: Tx.java Options.java Journal.java Log Message: Added support for filtering and resolving on EntryIterator and worked through most of the test suite for UnsisolatedBTree. Index: Options.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/journal/Options.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Options.java 12 Feb 2007 21:51:07 -0000 1.7 --- Options.java 15 Feb 2007 14:23:49 -0000 1.8 *************** *** 1,2 **** --- 1,45 ---- + /** + + The Notice below must appear in each file of the Source Code of any + copy you distribute of the Licensed Product. Contributors to any + Modifications may add their own copyright notices to identify their + own contributions. + + License: + + The contents of this file are subject to the CognitiveWeb Open Source + License Version 1.1 (the License). You may not copy or use this file, + in either source code or executable form, except in compliance with + the License. You may obtain a copy of the License from + + http://www.CognitiveWeb.org/legal/license/ + + Software distributed under the License is distributed on an AS IS + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + Copyrights: + + Portions created by or assigned to CognitiveWeb are Copyright + (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact + information for CognitiveWeb is available at + + http://www.CognitiveWeb.org + + Portions Copyright (c) 2002-2003 Bryan Thompson. + + Acknowledgements: + + Special thanks to the developers of the Jabber Open Source License 1.0 + (JOSL), from which this License was derived. This License contains + terms that differ from JOSL. + + Special thanks to the CognitiveWeb Open Source Contributors for their + suggestions and support of the Cognitive Web. + + Modifications: + + */ package com.bigdata.journal; *************** *** 4,7 **** --- 47,51 ---- import java.util.Properties; + import com.bigdata.objndx.IndexSegment; import com.bigdata.rawstore.Bytes; *************** *** 60,67 **** /** * <code>maximumExtent</code> - The maximum extent of the journal (bytes). ! * Once journal will "overflow" once it approaches this limit during a ! * {@link #commit()}. The default implementation ignores overflow events. A ! * scale up or scale out implementation will use this event as a trigger to ! * evict data from application btrees into index segments. * * @see #DEFAULT_MAXIMUM_EXTENT --- 104,112 ---- /** * <code>maximumExtent</code> - The maximum extent of the journal (bytes). ! * The journal will {@link Journal#overflow()} once it approaches this limit ! * during a {@link Journal#commit()}. The default implementation ignores ! * overflow events. A scale up or scale out implementation uses this event ! * as a trigger to evict data from btrees that absorb writes on the journal ! * into partitioned {@link IndexSegment}s. * * @see #DEFAULT_MAXIMUM_EXTENT *************** *** 82,87 **** * <code>true</code>). When true and the named file is not found, a new * journal will be created. - * - * @todo Write tests for this feature. */ public static final String CREATE = "create"; --- 127,130 ---- *************** *** 90,95 **** * <code>readOnly</code> - When true, the journal must pre-exist and * will be read-only (optional, default is <code>false</code>). - * - * @todo Write tests for this feature. */ public static final String READ_ONLY = "readOnly"; --- 133,136 ---- *************** *** 161,176 **** public static final String DOUBLE_SYNC = "doubleSync"; - // /** - // * <code>conflictResolver</code> - The name of a class that implements - // * the {@link IConflictResolver} interface (optional). When specified, - // * the class MUST define a public constructor with the signature - // * <code><i>class</i>( Journal journal )</code>. There is NO - // * default. Resolution of write-write conflicts is enabled iff a - // * conflict resolution class is declared with this parameter. If a value - // * is not provided, the a write-write conflict will result in the - // * rollback of a transaction. - // */ - // public static final String CONFLICT_RESOLVER = "conflictResolver"; - /** * <code>deleteOnClose</code> - This optional boolean option causes --- 202,205 ---- Index: Tx.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/journal/Tx.java,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** Tx.java 15 Feb 2007 01:34:22 -0000 1.25 --- Tx.java 15 Feb 2007 14:23:49 -0000 1.26 *************** *** 82,85 **** --- 82,91 ---- * transactions are not visible within the transaction). * + * @todo The write set of a transaction is currently written onto an independent + * store. This means that concurrent transactions can actually execute + * concurrently. We do not even need a read-lock on the indices isolated + * by the transaction since they are read-only. This might prove to be a + * nice way to leverage multiple processors / cores on a data server. + * * @todo support {@link PartitionedIndex}es. * *************** *** 376,380 **** // Atomic commit. ! journal.commit(); runState = RunState.COMMITTED; --- 382,386 ---- // Atomic commit. ! journal.commit(this); runState = RunState.COMMITTED; Index: Journal.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/journal/Journal.java,v retrieving revision 1.49 retrieving revision 1.50 diff -C2 -d -r1.49 -r1.50 *** Journal.java 15 Feb 2007 01:34:22 -0000 1.49 --- Journal.java 15 Feb 2007 14:23:49 -0000 1.50 *************** *** 137,248 **** * FIXME Priority items are: * <ol> * <li> Segment server (mixture of journal server and read-optimized database * server).</li> - * <li> Persistence capable data structures for the object index (basically, a - * btree) and the allocation indices. The allocation index is less clear, but a - * BitSet will do until I settle on something better - one of the tricks no - * matter how you approach it is getting closure on the self-referential issue - * with slots and a slot allocation index; maybe the per-tx data structure is - * just transient will the committed data structure is persistent?</li> [...1121 lines suppressed...] + // /* + // * @todo Search backwards from the current {@link IRootBlockView}. + // */ + // throw new UnsupportedOperationException(); + // + // } + // + // /** + // * FIXME Write commit record, including: the transaction identifier, the + // * location of the object index and the slot allocation index, the + // location + // * of a run length encoded representation of slots allocated by this + // * transaction, and the identifier and location of the prior transaction + // * serialized on this journal. + // */ + // protected void writeCommitRecord(IStore tx) { + // + // } + } |