Package wt.fv

fv package — File Vault Service

The file vault service (wt.fv package) is responsible for the definition and execution of rules that define the vaulting algorithm for content items.

See:
          Description

Interface Summary
FvService The FvService service presents an interface accessible also in the client to the functions provided in the server by the StandardFvService.
Revaultable

Supported API: false

Extendable: false
Storage

Supported API: false

Extendable: false
UniquelyIdentifiedContent

Supported API: false

Extendable: false
 

Class Summary
AccendingSequenceOfLongsReader  
DeletedFilesStatistics  
FileFolder

Supported API: false

Extendable: false
FileSort  
FvFolder Use the newFvFolder static factory method(s), not the FvFolder constructor, to construct instances of this class.
FvFolderItemLink Use the newFvFolderItemLink static factory method(s), not the FvFolderItemLink constructor, to construct instances of this class.
FvHelper

Supported API: false

Extendable: false
FvHost Use the newFvHost static factory method(s), not the FvHost constructor, to construct instances of this class.
FvItem Use the newFvItem static factory method(s), not the FvItem constructor, to construct instances of this class.
FvItem.OverflowListener  
FvItem.StoreStreamListener  
FvLoader File Vault object loader.
FvLog Helper class implements static methods to log messages in Wt.Fv Package.
FvMount Use the newFvMount static factory method(s), not the FvMount constructor, to construct instances of this class.
FvMountStatus

Supported API: true

Extendable: false
FvPolicyItem The FvPolicy references file vault that apply to a specific content item holder for a specific event in a given state.
FvPolicyItemCache This class implements cache service to store file vault policy items.
FvPolicyRule FvPolicyRule objects indicate what file vault is applicable when an event happens to an object.
FvPolicyRuleHelper  
FvProperties  
FvServiceEvent Provides a service specific event extended from KeyedEvent emitted when a folder or a vault overflows.
FvServiceFwd The FvService service presents an interface accessible also in the client to the functions provided in the server by the StandardFvService.
FvServicePersistentFlags Use the newFvServicePersistentFlags static factory method(s), not the FvServicePersistentFlags constructor, to construct instances of this class.
FvSurrogate  
FvTimer  
FvVault Use the newFvVault static factory method(s), not the FvVault constructor, to construct instances of this class.
FvVaultFolderLink Use the newFvVaultFolderLink static factory method(s), not the FvVaultFolderLink constructor, to construct instances of this class.
ReplicatorElemFinder | |* Implements methods that find elements to be replicated based on criterias *| |* established by the existance of FvPolicyRule objects in the database *| |
RevaultElemFinder  
RevaultElemMover  
RevaultElemReporter | 1) The delete unreferenced file action does not log what it is going to do.
RevaultingEvent

Supported API: false

Extendable: false
RevaultingSession Use the newRevaultingSession static factory method(s), not the RevaultingSession constructor, to construct instances of this class.
ReVaultSessionId Use the newReVaultSessionId static factory method(s), not the ReVaultSessionId constructor, to construct instances of this class.
RevaultURLContentHandler  
RevaultUrlSession Use the newRevaultUrlSession static factory method(s), not the RevaultUrlSession constructor, to construct instances of this class.
RvStreamIdCounter Use the newRvStreamIdCounter static factory method(s), not the RvStreamIdCounter constructor, to construct instances of this class.
SiteHostLink Use the newSiteHostLink static factory method(s), not the SiteHostLink constructor, to construct instances of this class.
SiteVaultLink Use the newSiteVaultLink static factory method(s), not the SiteVaultLink constructor, to construct instances of this class.
StandardFvService Standard implementation of the file vault service.
StandardFvService.ActiveFolderCache ActiveFolderCache maintains two mappings, vault-to-folder and folder-to-vault (we could have maintain only one mapping but CacheManager doesn't provide API to get a list of values without giving a key, so if we have only the vault-to-folder mapping, then given a folder, we have no way to find the corresponding vault, hence the extra mapping).
StandardFvService.FvFolderCache  
StandardFvService.FvMountCache  
StandardFvService.HostCache  
StandardFvService.UnreferencedFvItemsPurging Class for thread spawning of ScheduleUnreferencedFvItemsPurging.
StoredItem

Supported API: false

Extendable: false
StreamIdentity Use the newStreamIdentity static factory method(s), not the StreamIdentity constructor, to construct instances of this class.
StreamIdPool  
StreamIDSeq

Supported API: false

Extendable: false
URLRevaultingEvent

Supported API: false

Extendable: false
Vault

Supported API: false

Extendable: false
VaultPolicyItemLink Use the newVaultPolicyItemLink static factory method(s), not the VaultPolicyItemLink constructor, to construct instances of this class.
VaultPolicyRuleLink Use the newVaultPolicyRuleLink static factory method(s), not the VaultPolicyRuleLink constructor, to construct instances of this class.
 

Exception Summary
FvAbortReVaultingException

Supported API: false

Extendable: false
FvException

Supported API: false

Extendable: false
FvFileCanNotBeDeleted

Supported API: false

Extendable: false
FvFileCanNotBeStored

Supported API: false

Extendable: false
FvFileDoesNotExist

Supported API: false

Extendable: false
FvFolderProbablyFull This is for internal use: to find out when the next avilable folder should become active.
FvVaultPolicyException Exception thrown when something goes wrong with the rule manipulation or file vault policy execution.
 

Package wt.fv Description

fv package — File Vault Service

The file vault service (wt.fv package) is responsible for the definition and execution of rules that define the vaulting algorithm for content items. This allows the content service to store content items locally in external files instead of ORACLE BLOBs in a centralized Oracle database resulting in speed up of upload and download process.

 

Design Overview

 

File Vault Model

 

File folder is an equivalent of a directory on the disk drive. Folders are logically grouped to form vaults. Each folder has a sequence number that defines the order in which the folders within the vault will be used for storing content items. When a folder overflows, the vault manager makes it read-only and begins using the next available folder in the sequence. All the folders must be mounted to all the method server hosts in order to provide access to content items stored in them. Mappings between Folders and Vaults are maintained both ways so that given a vault, the contained folder can be fetched. Similarly, given a folder, the containing vault can be fetched. Depending on the domain a content holder belongs to, a class and life cycle state content item is stored in one of the vaults or in the ORACLE BLOB.

 

Following is the class diagram for vaulting rules:

 

External Interface

There is no external API for customer use.

Event Processing

The service emits OVERFLOW events with the FvFolder object as a target on folder overflow and the FvVault object as a target on vault overflow. An event is emitted from within a transaction. Vetoing an event or throwing an exception has no effect on the operation that caused the event to be emitted.