Deprecated API


Contents
Deprecated Interfaces
com.bigdata.btree.IAddressSerializer
          Along with NodeSerializer by the IRabaCoder 
com.bigdata.rdf.spo.ISPOBuffer
          by IBuffer 
 

Deprecated Classes
com.bigdata.rdf.inf.AbstractSPOBuffer
          by AbstractArrayBuffer, but this class is more tightly coupled to the AbstractTripleStore. 
com.bigdata.rawstore.Addr
          This is now an interface that is extended by IRawStore such that each store may be provisioned for a different split between the bits dedicated to the offset and the bits dedicated to the length of the data record. Only Addr.toLong(int, int), Addr.getOffset(long), and Addr.getByteCount(long) will need to become instance methods. The metadata required to recover the provisioned bit split must be stored in the root block of a persistence store so that it may be recovered without record to decoding an Addr. (This is also going to cause a lot of javadoc comments to refer to the "Addr" interface, which will be the base interface for IRawStore and that will be confusing and should be cleaned up.)

Other consequences are that offset and nextOffset are always long integers and that packing and unpacking of addresses requires knowledge of the #offset bits (so SerializerUtil should not be used for those cases). This change to serialization also effects how btree nodes and leaves are stored. 

com.bigdata.btree.AddressSerializer
          Along with NodeSerializer by the IRabaCoder 
com.bigdata.rdf.spo.FastRDFValueCoder
          by FastRDFValueCoder2 
com.bigdata.io.FileLockUtility
          This can lead to trouble. Use a FileLock if supported and otherwise proceed without a FileLock. 
com.bigdata.util.HybridTimestampFactory
          This class has not been fully debugged and SHOULD NOT be used. 
com.bigdata.net.InetAddressUtil
          this was a red herring. 
com.bigdata.rdf.inf.JustificationIterator
          replace with appropriate access path reading on the justifications index for SPORelation (or treat as a secondary relation). 
com.bigdata.concurrent.LockManager
          This implementation manages locks in terms of threads. A thread is required in order for a task to contend for its locks. This places a strain on the thread scheduler. 
com.bigdata.btree.PackedAddressSerializer
          Along with NodeSerializer by the IRabaCoder 
com.bigdata.relation.locator.ResourceLocatorMap
          this is only useful if explicitly enumerating the resource locators. 
com.bigdata.jini.start.config.RoundRobinServiceConstraint
          I think that we may get the right behavior naturally and it is difficult to construct otherwise. 
com.bigdata.relation.rule.eval.RunRuleAndFlushBufferTaskFactory
          This is now handled by MutationTask.newMutationTasks(com.bigdata.relation.rule.IStep, IJoinNexus, java.util.Map) 
com.bigdata.rdf.spo.SPOArrayIterator
          by ChunkedArrayIterator but this still has some very purpose specific uses mainly dealing with TruthMaintenance and with fully buffering precisely because the DB impl is not using concurrency controls. 
com.bigdata.rdf.inf.SPOAssertionBuffer
          by AbstractElementBuffer.InsertBuffer and AbstractSolutionBuffer.InsertSolutionBuffer and the changes to how truth maintenance is handled (by rule rewrites). 
com.bigdata.rdf.inf.SPORetractionBuffer
          by AbstractElementBuffer.DeleteBuffer and AbstractSolutionBuffer.DeleteSolutionBuffer and the changes to how truth maintenance is handled (rule rewrites). 
com.bigdata.rdf.spo.StatementWriter
          by SPORelation.insert(IChunkedOrderedIterator)? (Still used by copyStatements) 
com.bigdata.zookeeper.ZNodeLockWatcher
          Replaced by ZNodeLockWatcher.ZLockImpl 
 

Deprecated Fields
com.bigdata.service.jini.master.TaskMaster.ConfigurationOptions.AGGREGATORS_TEMPLATE
          This is a trial feature which is not fully implemented. 
com.bigdata.rdf.lexicon.LexiconKeyBuilder.IDatatypeKeyCoder.CODE_XSD_DURATION
          until good semantics have been developed. 
com.bigdata.journal.Options.DOUBLE_SYNC
          This option does NOT provide a sufficient guarantee when a write cache is in use by the operating system or the disk if the layered write caches return before all data is safely on disk (or in a battery powered cache). In order to protect against this you MUST disable the write cache layers in the operating system and the disk drive such that FileChannel.force(boolean) will not return until the data are in fact on stable storage. If you disable the OS and disk write cache then you do NOT need to specify this option since writes will be ordered and all data will be on disk before we update the commit blocks. 
com.bigdata.journal.Options.FILE_LOCK_ENABLED
          FileLockUtility is going away since advisory locks are not automatically removed if an application dies. 
com.bigdata.mdi.LocalPartitionMetadata.MAX_HISTORY_LENGTH
            
com.bigdata.service.jini.master.TaskMaster.ConfigurationOptions.NAGGREGATORS
          This is a trial feature which is not fully implemented. 
com.bigdata.rdf.lexicon.ITermIndexCodes.TERM_CODE_DTL2
          This is a place holder for a namespace for an alternative coding of datatype literal keys. 
 

Deprecated Methods
com.bigdata.rdf.spo.ISPOAssertionBuffer.add(SPO, Justification)
          by ISolutions in an IBuffer. 
com.bigdata.rdf.store.IRawTripleStore.addStatements(IChunkedOrderedIterator, IElementFilter)
          by SPORelation.insert(IChunkedOrderedIterator) 
com.bigdata.btree.NodeSerializer.encode(IAbstractNodeData)
          This method is no longer used since I refactored the IndexSegmentBuilder to optionally stuff the generated nodes and leaves into the cache. It still works but it might go away in the future. 
com.bigdata.rdf.store.IRawTripleStore.getAccessPath(IKeyOrder)
          by SPORelation#getAccessPath(SPOKeyOrder, com.bigdata.relation.rule.IPredicate) 
com.bigdata.rdf.spo.SPORelation.getAccessPath(long, long, long)
          by SPORelation.getAccessPath(long, long, long, long) 
com.bigdata.rdf.store.IRawTripleStore.getAccessPath(long, long, long)
          by SPORelation.getAccessPath(long, long, long) 
com.bigdata.btree.DefaultTupleSerializer.getDefaultKeyBuilderFactory()
          by IndexMetadata.Options.KEY_BUILDER_FACTORY 
com.bigdata.btree.DefaultTupleSerializer.getDefaultLeafKeysCoder()
          by IndexMetadata.Options.LEAF_KEYS_CODER 
com.bigdata.btree.DefaultTupleSerializer.getDefaultValuesCoder()
          by IndexMetadata.Options.LEAF_VALUES_CODER 
com.bigdata.mdi.LocalPartitionMetadata.getHistory()
          I've essentially disabled the history (it is always empty when it is persisted). I found it nearly impossible to read. There are much saner ways to track what is going on in the federation. An analysis of the Event log is much more useful. If nothing else, you could examine the index partition in the metadata index by scanning the commit points and reading its state in each commit and reporting all state changes. 
com.bigdata.rdf.spo.ISPOAssertionBuffer.getJustificationCount()
          not used. 
com.bigdata.btree.proc.IKeyArrayIndexProcedure.getKey(int)
          by IKeyArrayIndexProcedure.getKeys() 
com.bigdata.btree.proc.IKeyArrayIndexProcedure.getKeyCount()
          by IKeyArrayIndexProcedure.getKeys() 
com.bigdata.zookeeper.ZNodeLockWatcher.getLock(ZooKeeper, String, List)
          Replaced by ZLockImpl 
com.bigdata.service.ndx.PartitionedTupleIterator.getPartitionCount()
          The #of partitions is a bit tricky since splits and joins can introduce new partitions unless you are using a read-consistent view. 
com.bigdata.btree.proc.AbstractKeyArrayIndexProcedure.ResultBuffer.getResult(int)
          by AbstractKeyArrayIndexProcedure.ResultBuffer.getValues() 
com.bigdata.btree.proc.AbstractKeyArrayIndexProcedure.ResultBuffer.getResultCount()
          by AbstractKeyArrayIndexProcedure.ResultBuffer.getValues() 
com.bigdata.mdi.LocalPartitionMetadata.getSourcePartitionId()
          MoveTask manages without this field (it was required by the previous MOVE implementation). 
com.bigdata.rdf.store.IRawTripleStore.getStatement(long, long, long)
          does not support quads. 
com.bigdata.btree.raba.codec.CanonicalHuffmanRabaCoder.getSumCodedValueBitLengths(BitVector[], IRaba, CanonicalHuffmanRabaCoder.Byte2Symbol)
          Leave this field and the #of bits per codedValueOffset[] element blank until we have written out the coded values and then rewind the OBS and fill in those fields. Otherwise we are encoding the same byte[][] data twice, which is wasted effort. 
com.bigdata.mdi.LocalPartitionMetadata.getTruncatedHistory()
          See LocalPartitionMetadata.history 
com.bigdata.btree.proc.IKeyArrayIndexProcedure.getValue(int)
          by IKeyArrayIndexProcedure.getValues() 
com.bigdata.rdf.store.AbstractTripleStore.hasStatement(long, long, long)
          by AbstractTripleStore.hasStatement(long, long, long, long) 
com.bigdata.relation.rule.IPredicate.isFullyBound()
          by IPredicate.isFullyBound(IKeyOrder) 
com.bigdata.relation.rule.Predicate.isFullyBound()
          by Predicate.isFullyBound() 
com.bigdata.rdf.spo.SPOPredicate.isFullyBound()
          by SPOPredicate.isFullyBound(IKeyOrder) 
com.bigdata.relation.accesspath.IAccessPath.iterator(int, int)
          by IAccessPath.iterator(long, long, int). Also, [limit] should have been a long, not an int. 
com.bigdata.counters.linux.SysstatUtil.newDateFormat()
          sysstat only reports the TIME OF DAY. In order to get the UTC time it has to be corrected by the UTC time of the start of the current day. Since very little latency is expected between the report by sysstat of its performance counters and the parsing of those performance counters by our code, it is MUCH easier and more robust to simply use the current time as reported by System.currentTimeMillis(). 
com.bigdata.journal.Journal.nextTimestamp()
          This is here for historical reasons and is only used by the test suite. Use Journal.getLocalTransactionManager() and ITimestampService.nextTimestamp(). 
com.bigdata.io.FileChannelUtility.readAll(FileChannel, ByteBuffer, long)
          by FileChannelUtility.readAll(IReopenChannel, ByteBuffer, long) which handles transparent re-opening of the store in order to complete the read operation. 
com.bigdata.journal.AbstractJournal.registerIndex(String)
          This is only used by the test suites. 
com.bigdata.rdf.store.IRawTripleStore.toString(long, long, long)
          by IRawTripleStore.toString(long, long, long, long) 
com.bigdata.counters.render.XHTMLRenderer.value(ICounter, Object)
          Move into formatter objects. 
com.bigdata.io.FileChannelUtility.writeAll(FileChannel, ByteBuffer, long)
          by FileChannelUtility.writeAll(IReopenChannel, ByteBuffer, long) 
com.bigdata.counters.render.XHTMLRenderer.writeFullPath(Writer, String)
          by refactor inside of a rendering object. 
com.bigdata.counters.render.XHTMLRenderer.writePath(Writer, String, int)
          by refactor inside of a rendering object. 
 

Deprecated Constructors
com.bigdata.rdf.store.TempTripleStore(Properties, AbstractTripleStore)
          Use TempTripleStore.TempTripleStore(TemporaryStore, Properties, AbstractTripleStore) instead and provide the TemporaryStore reference returned by IIndexStore.getTempStore(). This has the advantage of reusing a single shared TemporaryStore instance until it becomes "large" and then allocating a new instance (note that each instance will consume a direct ByteBuffer from the DirectBufferPool). This is especially important for operations like TruthMaintenance which have to create a lot of temporary stores. 
 

Deprecated Enum Constants
com.bigdata.journal.BufferMode.BufferedDisk
          This has not been implemented yet. It may not be necessary with the use of global buffers for B+Tree nodes and leaves. 
com.bigdata.resources.OverflowSubtaskEnum.CopyHistory
          by MoveTask 
com.bigdata.resources.OverflowSubtaskEnum.SendIndexSegment
          by MoveTask 
 



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