Skip to content
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

Closed

Conversation

mattvryan
Copy link
Contributor

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).

reschke and others added 30 commits April 19, 2018 11:31
…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
release notes



git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1829855 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
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
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
mattvryan and others added 21 commits June 21, 2018 16:56
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.
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-7603: [DirectBinaryAccess][DISCUSS] Oak API extensions
@@ -409,6 +421,40 @@ public SecurityProvider getSecurityProvider() {

//-----------------------------------------------------------< internal >---

private static HttpBlobProvider getOrCreateHttpBlobProvider(Whiteboard wb) {
HttpBlobProvider provider = WhiteboardUtils.getService(wb, HttpBlobProvider.class);
Copy link

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?

Copy link
Contributor Author

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?

Copy link
Contributor

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.

@github-actions
Copy link

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.

@github-actions github-actions bot added the Stale label Jan 21, 2023
@alexkli alexkli closed this Jan 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet