You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by kt...@apache.org on 2012/01/24 21:10:32 UTC
svn commit: r1235460 - in /incubator/accumulo/branches/1.4/src:
core/src/main/java/org/apache/accumulo/core/conf/Property.java
server/src/main/java/org/apache/accumulo/server/logger/LogArchiver.java
Author: kturner
Date: Tue Jan 24 20:10:32 2012
New Revision: 1235460
URL: http://svn.apache.org/viewvc?rev=1235460&view=rev
Log:
ACCUMULO-326 Made walog archive replication factor configurable
Modified:
incubator/accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/conf/Property.java
incubator/accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/logger/LogArchiver.java
Modified: incubator/accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/conf/Property.java
URL: http://svn.apache.org/viewvc/incubator/accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/conf/Property.java?rev=1235460&r1=1235459&r2=1235460&view=diff
==============================================================================
--- incubator/accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/conf/Property.java (original)
+++ incubator/accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/conf/Property.java Tue Jan 24 20:10:32 2012
@@ -157,6 +157,8 @@ public enum Property {
"The directory used to store write-ahead logs on the local filesystem. It is possible to specify a comma-separated list of directories."),
LOGGER_PORTSEARCH("logger.port.search", "false", PropertyType.BOOLEAN, "if the port above is in use, search higher ports until one is available"),
LOGGER_ARCHIVE("logger.archive", "false", PropertyType.BOOLEAN, "determines if logs are archived in hdfs"),
+ LOGGER_ARCHIVE_REPLICATION("logger.archive.replication", "0", PropertyType.COUNT,
+ "determines the replication factor for walogs archived in hdfs, set to zero to use default"),
LOGGER_MONITOR_FS(
"logger.monitor.fs",
"true",
Modified: incubator/accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/logger/LogArchiver.java
URL: http://svn.apache.org/viewvc/incubator/accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/logger/LogArchiver.java?rev=1235460&r1=1235459&r2=1235460&view=diff
==============================================================================
--- incubator/accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/logger/LogArchiver.java (original)
+++ incubator/accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/logger/LogArchiver.java Tue Jan 24 20:10:32 2012
@@ -43,6 +43,7 @@ public class LogArchiver {
private FileSystem dest;
private String destDir;
private final boolean archive;
+ private short replication;
static Path archiveName(String fullPath) {
if (isArchive(fullPath))
@@ -82,7 +83,8 @@ public class LogArchiver {
dest.delete(new Path(destDir, name + ".gz_tmp"), false);
FSDataInputStream in = src.open(srcPath);
- GZIPOutputStream out = new GZIPOutputStream(dest.create(new Path(destDir, name + ".gz_tmp"), false));
+ GZIPOutputStream out = new GZIPOutputStream(dest.create(new Path(destDir, name + ".gz_tmp"), false, dest.getConf().getInt("io.file.buffer.size", 4096),
+ replication == 0 ? dest.getDefaultReplication() : replication, dest.getDefaultBlockSize()));
byte buf[] = new byte[1 << 20];
int numRead;
@@ -112,6 +114,7 @@ public class LogArchiver {
this.threadPool = Executors.newSingleThreadExecutor();
this.destDir = conf.get(Property.INSTANCE_DFS_DIR) + "/walogArchive";
this.archive = archive;
+ this.replication = (short) conf.getCount(Property.LOGGER_ARCHIVE_REPLICATION);
dest.mkdirs(new Path(destDir));
if (archive) {