You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by ad...@apache.org on 2020/05/14 11:11:33 UTC
svn commit: r1877733 - in
/jackrabbit/oak/trunk/oak-segment-aws/src/main/java/org/apache/jackrabbit/oak/segment/aws:
AwsSegmentArchiveWriter.java S3Directory.java
tool/AwsSegmentStoreMigrator.java
Author: adulceanu
Date: Thu May 14 11:11:33 2020
New Revision: 1877733
URL: http://svn.apache.org/viewvc?rev=1877733&view=rev
Log:
OAK-8827 - AWS support for segment-tar
Persist and retrieve AWS Segment entries
Manage gc.log in AWS
Contribution by Ieran Draghiciu
Modified:
jackrabbit/oak/trunk/oak-segment-aws/src/main/java/org/apache/jackrabbit/oak/segment/aws/AwsSegmentArchiveWriter.java
jackrabbit/oak/trunk/oak-segment-aws/src/main/java/org/apache/jackrabbit/oak/segment/aws/S3Directory.java
jackrabbit/oak/trunk/oak-segment-aws/src/main/java/org/apache/jackrabbit/oak/segment/aws/tool/AwsSegmentStoreMigrator.java
Modified: jackrabbit/oak/trunk/oak-segment-aws/src/main/java/org/apache/jackrabbit/oak/segment/aws/AwsSegmentArchiveWriter.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-aws/src/main/java/org/apache/jackrabbit/oak/segment/aws/AwsSegmentArchiveWriter.java?rev=1877733&r1=1877732&r2=1877733&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-aws/src/main/java/org/apache/jackrabbit/oak/segment/aws/AwsSegmentArchiveWriter.java (original)
+++ jackrabbit/oak/trunk/oak-segment-aws/src/main/java/org/apache/jackrabbit/oak/segment/aws/AwsSegmentArchiveWriter.java Thu May 14 11:11:33 2020
@@ -91,8 +91,7 @@ public class AwsSegmentArchiveWriter imp
String fullName = directory.getPath() + segmentName;
ioMonitor.beforeSegmentWrite(new File(fullName), msb, lsb, size);
Stopwatch stopwatch = Stopwatch.createStarted();
- directory.writeObject(segmentName, data, AwsBlobMetadata.toSegmentMetadata(indexEntry));
- writeIndex();
+ directory.writeObject(segmentName, data);
ioMonitor.afterSegmentWrite(new File(fullName), msb, lsb, size, stopwatch.elapsed(TimeUnit.NANOSECONDS));
}
@@ -180,6 +179,7 @@ public class AwsSegmentArchiveWriter imp
public void flush() throws IOException {
if (queue.isPresent()) { // required to handle IOException
queue.get().flush();
+ writeIndex();
}
}
Modified: jackrabbit/oak/trunk/oak-segment-aws/src/main/java/org/apache/jackrabbit/oak/segment/aws/S3Directory.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-aws/src/main/java/org/apache/jackrabbit/oak/segment/aws/S3Directory.java?rev=1877733&r1=1877732&r2=1877733&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-aws/src/main/java/org/apache/jackrabbit/oak/segment/aws/S3Directory.java (original)
+++ jackrabbit/oak/trunk/oak-segment-aws/src/main/java/org/apache/jackrabbit/oak/segment/aws/S3Directory.java Thu May 14 11:11:33 2020
@@ -133,13 +133,8 @@ public final class S3Directory {
}
public void writeObject(String name, byte[] data) throws IOException {
- writeObject(name, data, new HashMap<>());
- }
-
- public void writeObject(String name, byte[] data, Map<String, String> userMetadata) throws IOException {
InputStream input = new ByteArrayInputStream(data);
ObjectMetadata metadata = new ObjectMetadata();
- metadata.setUserMetadata(userMetadata);
metadata.setContentLength(data.length);
PutObjectRequest request = new PutObjectRequest(bucketName, rootDirectory + name, input, metadata);
try {
Modified: jackrabbit/oak/trunk/oak-segment-aws/src/main/java/org/apache/jackrabbit/oak/segment/aws/tool/AwsSegmentStoreMigrator.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-aws/src/main/java/org/apache/jackrabbit/oak/segment/aws/tool/AwsSegmentStoreMigrator.java?rev=1877733&r1=1877732&r2=1877733&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-aws/src/main/java/org/apache/jackrabbit/oak/segment/aws/tool/AwsSegmentStoreMigrator.java (original)
+++ jackrabbit/oak/trunk/oak-segment-aws/src/main/java/org/apache/jackrabbit/oak/segment/aws/tool/AwsSegmentStoreMigrator.java Thu May 14 11:11:33 2020
@@ -125,8 +125,9 @@ public class AwsSegmentStoreMigrator imp
if (appendMode) {
targetGCJournal.truncate();
}
- for (String line : source.getGCJournalFile().readLines()) {
- targetGCJournal.writeLine(line);
+ List<String> lines = source.getGCJournalFile().readLines();
+ if (lines.size() > 0) {
+ targetGCJournal.writeLine(lines.get(lines.size() - 1));
}
return null;
}