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
Direct binary access with OAK-7570 and OAK-7603 #94
Direct binary access with OAK-7570 and OAK-7603 #94
Conversation
git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829527 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829528 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829534 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829546 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829556 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829562 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829569 13f79535-47bb-0310-9956-ffa450edef68
…from custom attributes Added support for optional custom LDAPn attributes for the creation of external ids. git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829587 13f79535-47bb-0310-9956-ffa450edef68
…erGroups as an OSGi config property git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829648 13f79535-47bb-0310-9956-ffa450edef68
…from custom attributes Updated documentation. git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829665 13f79535-47bb-0310-9956-ffa450edef68
Use an explicit update limit of 10000 to prevent conflict on merge git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829824 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829826 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829847 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829854 13f79535-47bb-0310-9956-ffa450edef68
release notes git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829855 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829856 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829858 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829859 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829864 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829881 13f79535-47bb-0310-9956-ffa450edef68
…nstructor git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829883 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829885 13f79535-47bb-0310-9956-ffa450edef68
Introduce CompactionStrategy, which represents a possible way to carry on the compaction phase in the scope of the bigger garbage collection process. The full and tail compaction phases have been extracted to FullCompactionStrategy and TailCompactionStrategy respectively. Moreover, in order to have full compaction act as a fallback for tail compaction when a base state can't be found, CompactionResult has been extended with a new result type and FallbackCompactionStrategy has been introduced. git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829894 13f79535-47bb-0310-9956-ffa450edef68
Introduce a iotrace run mode in oak-run git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829969 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829972 13f79535-47bb-0310-9956-ffa450edef68
Introduce CleanupStrategy and its only implementation, DefaultCleanupStrategy. DefaultGarbageCollectionStrategy has been modified to delegate to the CleanupStrategy every time a cleanup operation is invoked. git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829974 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829978 13f79535-47bb-0310-9956-ffa450edef68
Remove mongodb service git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829985 13f79535-47bb-0310-9956-ffa450edef68
SizeDeltaGcEstimation contains an implementation of the estimation phase that is overloaded with logic pertaining to both the full and tail compaction. This commit defines EstiamtionStrategy, replacing GCEstimation, and splits SizeDeltaGcEstimation in two implementations. The two implementations both satisfy the EstimationStrategy interface. git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829986 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829987 13f79535-47bb-0310-9956-ffa450edef68
BinaryHttpUpload => HttpBinaryUpload BlobHttpUpload => HttpBlobUpload DataRecordHttpUpload => HttpDataRecordUpload
Only certain underlying blob stores can support direct HTTP access for PUT and GET, like S3 or Azure data stores. But this functionality is exposed through the stack to the SessionImpl class so it is possible for a client to attempt to use this functionality on an unsupported stack. By throwing UnsupportedRepositoryOperationException we can signal to clients whether this functionality is available and allow them to choose the default method for uploading or downloading in those cases.
This reverts commit e4ac7ff.
This reverts commit 6bbd67e.
Revert changes on MutableRoot, SegmentNodeStore and DocumentNodeStore Wire HttpBlobProvider to the SessionContext using the Whiteboard Use a default HttpBlobProvider implementation if none exists on the Whiteboard
Move description for IllegalHttpUploadArgumentsException cases to HttpBlobProvider Throw IllegalArgumentException when maxUploadSizeInBytes or maxNumberOfURLs are not positive Change getHttpDownloadURL(String) to getHttpDownloadURL(Blob) for symetry with completeHttpUpload() Removed InvalidHttpUploadTokenException
OAK-7569: Direct Binary Access
OAK-7603: [DirectBinaryAccess][DISCUSS] Oak API extensions
…access-with-OAK-7570-7603
@@ -409,6 +421,40 @@ public SecurityProvider getSecurityProvider() { | |||
|
|||
//-----------------------------------------------------------< internal >--- | |||
|
|||
private static HttpBlobProvider getOrCreateHttpBlobProvider(Whiteboard wb) { | |||
HttpBlobProvider provider = WhiteboardUtils.getService(wb, HttpBlobProvider.class); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How do you know this is the one from the BlobStore/DataStore used by the NodeStore?
Can this be used to add a HttpBlobProvider
in an OSGi context at runtime, outside Oak? If yes, is this something that should be allowed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mreutegg you made this change, do you have any comment?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See my reply in OAK-7570.
This PR is stale because it has been open 24 months with no activity. Remove stale label or comment or this will be closed in 30 days. |
This pull request builds on my original direct binary access pull request with the combined feedback from @mreutegg from OAK-7570 (as captured in this pull request) and OAK-7603 (as captured in this pull request).