forked from OrleansContrib/Orleans.Indexing-1.5
-
Notifications
You must be signed in to change notification settings - Fork 0
Indexing change all #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
xiazen
wants to merge
16
commits into
diff
Choose a base branch
from
master
base: diff
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
… operations + Added a storage provider for Microsoft DocumentDB + Added the required error codes for DocumentDBStorageProvider + Updated both AzureTavleStorage and AzureBlobStorage to implement IExtendedStorageProvider + Added IsSubclassOfRawGenericType to TypeUtils + Updated the NuSpec of OrleansAzureUtils to have a reference to DocumentDB
…ing key). + Made Silo address internally accessible + Added SetupStorageProvider to Catalog in order to setup the storage provider by only having a grainInstanceType (and no ActivationData)
…g and using the Indexes, once the indexing implementation get added + Added additional dependencies in the Tester and TestExtensions project for tetsing the Indexing functionality, once it gets added
+ Created the NuSpec for OrleansIndexing project + Added the name and type code for special storage providers used in the OrleansIndexing project + Fixed AzureProviderErrorCodes for DocumentDBStorageProvider + Made internals of Orleans and OrleansRuntime visible to the OrleansIndexing + Added OrleansIndexing as a dependency for Tester, TestGrains and TestGrainInterfaces
+ Added the IIndexableGrain interface that is the base interface for all indexable grains + Added two utility classes used in OrleansIndexing: SiloUtils and TypeCodeMapper + Added extension methods for Grain, GrainFactory and Type + Removed the unavailable indexing features from SiloAssemblyLoader + Added the base interface and abstract grain implementation for the tests (IPlayerGrain and PlayerGrainNonFaultTolerant) + Added tests for the base case of having no index, as well as enumerating active grains
+ Added IndexInterface to be the interface of all indexes with its two variants: HashIndexInterface and RangeIndexInterface + Added the base class for all non-fault-tolerant indexable grains (IndexableGrainNonFaultTolerant) + Added IndexFactory that plays a similar role as GrainFactory for indexes + Added IndexHandler that handles the updates from grains to the index classes + Added IndexBuilder, though it's not going to be used at the moment, as we assume that we will always start with empty indexes + Added indexing annotations (IndexAttribute and AIndexAttribute) + Added the first index implementation: AHashIndexSingleBucket (that indexes active grains without fault tolerance). In this initial implementation, each index is a single grain. + Added IndexMetaData that contains the metadata stored for each index + Added IIndexUpdateGenerator to be the interface for the update generator of each grain with a default implementation (IndexUpdateGenerator) + Added IMemberUpdate as the interface of an update to a member variable of a grain. It comes with a variant of its default implementations (MemberUpdate, MemberUpdateTentative and MemeberUpdateReverseTentative) + Added an exception class to be raised in the case of violating a unique constraint (UniquenessConstraintViolatedException) + Updated the test grains to extend IndexableGrainNonFaultTolerant and added AIndex annotation to their test grain interfaces
…esults from the previously defined indexes. The current query mechanism only supports a very limited type of query structures, where can be directly answered by an index. The query mechanism extends the Linq facilities. + Added two mechanism for returning the query results, 1) return the whole resut at once or 2) streaming the result back to the user + Updated IndexFactory to create a dummy GetActiveGrains node + Updated IndexInterface and RangeIndexInterface to provide query functionality
… the corresponding index grain, which might not necessarily be in the same silo + Added some tests related to this index implementation to test the basic functionality
…each silo separately (and the index grain is a SystemTarget) + Added some tests to verify the basic functionality of this index implementation
…big index bucket. Currently, the overflows of an index bucket that goes beyond a specific and predefined threshold is passed to another index bucket chained to the first one. + Added test to verify the basic functionality of this feature
…ains stored in a StorageProvider that supports indexing. As the name suggests, this implementation does not do any caching on the retreived data from the StorageProvider. + Added some tests to verify the basic functionality of this index type. Running these tests requires having a valid DocumentDB account.
…rains of a given type regardless of being active or deactive. + Added three flavours of its implementation (SingleBucker, DistrbutedPerKey, DistributedPerSilo) similar to AIndex + Added some tests for lazy indexing, even though lazy indexing is not implemented yet. These tests should pass nevertheless and the point is not failing when lazy indexing is introduced.
…o make lazy index updates possible and also provide fault-tolerance. + Added some tests to verify the basic functionality of the workflow system.
+ The logging (in Catalog.cs) is now inside SetupStorageProvider(Type grainInstanceType) method rather than repeating similar code in SetupStorageProvider(Type grainType, ActivationData data). + Refactored HashIndexPartitionedPerKeyBucket to extend HashIndexSingleBucket + Assigned a unique error code for each usage of IndexingIndexIsNotReadyYet in HashINdexSingleBucket and ActiveHashIndexPartitionedPerKeyBucketImpl + Removed IndexBuilder from this branch. The behavior of this component needs more development. It is necessary for TotalIndexes (I-Indexes) to work properly if they are introduced after the first deployment of the application. + Removed DocumentDBStorageProvider from this branch. A separate branch will be created for this storage-provider. + Renamed CosmosIndex to TotalIndex. + Removed dead code and commented ot code segments + Removed unnecessary Usings + Reverted the unnecessary change in the visibility of grainId field in SystemTarget + Renamed index attributes (AInext to ActiveIndex, IIndex to CosmosIndex, DSMIndex to StorageManagedIndex) + Added missing documentation for index attributes + Removed unused and commented code from DocumentDBStorageProvider and its tests. + Added comments for index information object getters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.