You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by fp...@apache.org on 2011/09/05 19:39:03 UTC
svn commit: r1165369 [3/9] - in /zookeeper/bookkeeper/trunk: ./
bookkeeper-benchmark/src/main/java/org/apache/bookkeeper/benchmark/
bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/
bookkeeper-server/src/main/java/org/apache/bookkeeper/clie...
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerOpenOp.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerOpenOp.java?rev=1165369&r1=1165368&r2=1165369&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerOpenOp.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerOpenOp.java Mon Sep 5 17:38:57 2011
@@ -1,5 +1,5 @@
/*
- *
+ *
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -7,16 +7,16 @@
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- *
+ *
*/
package org.apache.bookkeeper.client;
@@ -34,11 +34,11 @@ import org.apache.zookeeper.data.Stat;
/**
* Encapsulates the ledger open operation
- *
+ *
*/
class LedgerOpenOp implements DataCallback {
static final Logger LOG = Logger.getLogger(LedgerOpenOp.class);
-
+
final BookKeeper bk;
final long ledgerId;
final OpenCallback cb;
@@ -47,10 +47,10 @@ class LedgerOpenOp implements DataCallba
final byte[] passwd;
final DigestType digestType;
final boolean unsafe;
-
+
/**
* Constructor.
- *
+ *
* @param bk
* @param ledgerId
* @param digestType
@@ -58,7 +58,7 @@ class LedgerOpenOp implements DataCallba
* @param cb
* @param ctx
*/
-
+
public LedgerOpenOp(BookKeeper bk, long ledgerId, DigestType digestType, byte[] passwd, boolean unsafe, OpenCallback cb, Object ctx) {
this.bk = bk;
this.ledgerId = ledgerId;
@@ -96,7 +96,7 @@ class LedgerOpenOp implements DataCallba
}
if (rc != KeeperException.Code.OK.intValue()) {
LOG.error("Could not read metadata for ledger: " + ledgerId, KeeperException.create(KeeperException.Code
- .get(rc), path));
+ .get(rc), path));
cb.openComplete(BKException.Code.ZKException, null, this.ctx);
return;
}
@@ -130,14 +130,14 @@ class LedgerOpenOp implements DataCallba
if(!unsafe)
lh.recover(new GenericCallback<Void>() {
- @Override
- public void operationComplete(int rc, Void result) {
- if (rc != BKException.Code.OK) {
- cb.openComplete(BKException.Code.LedgerRecoveryException, null, LedgerOpenOp.this.ctx);
- } else {
+ @Override
+ public void operationComplete(int rc, Void result) {
+ if (rc != BKException.Code.OK) {
+ cb.openComplete(BKException.Code.LedgerRecoveryException, null, LedgerOpenOp.this.ctx);
+ } else {
cb.openComplete(BKException.Code.OK, lh, LedgerOpenOp.this.ctx);
- }
}
- });
+ }
+ });
}
}
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerRecoveryOp.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerRecoveryOp.java?rev=1165369&r1=1165368&r2=1165369&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerRecoveryOp.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerRecoveryOp.java Mon Sep 5 17:38:57 2011
@@ -32,11 +32,11 @@ import org.jboss.netty.buffer.ChannelBuf
/**
* This class encapsulated the ledger recovery operation. It first does a read
- * with entry-id of -1 (LedgerHandle.LAST_ADD_CONFIRMED) to all bookies. Then
- * starting from the last confirmed entry (from hints in the ledger entries),
+ * with entry-id of -1 (LedgerHandle.LAST_ADD_CONFIRMED) to all bookies. Then
+ * starting from the last confirmed entry (from hints in the ledger entries),
* it reads forward until it is not able to find a particular entry. It closes
* the ledger at that entry.
- *
+ *
*/
class LedgerRecoveryOp implements ReadEntryCallback, ReadCallback, AddCallback {
static final Logger LOG = Logger.getLogger(LedgerRecoveryOp.class);
@@ -85,7 +85,7 @@ class LedgerRecoveryOp implements ReadEn
// Too bad, this bookie didnt give us a valid answer, we
// still might be able to recover though so continue
LOG.error("Mac mismatch while reading last entry from bookie: "
- + lh.metadata.currentEnsemble.get(bookieIndex));
+ + lh.metadata.currentEnsemble.get(bookieIndex));
}
}
@@ -128,9 +128,9 @@ class LedgerRecoveryOp implements ReadEn
// get back to prev value
lh.lastAddConfirmed--;
if (rc == BKException.Code.OK) {
- LedgerEntry entry = seq.nextElement();
+ LedgerEntry entry = seq.nextElement();
byte[] data = entry.getEntry();
-
+
/*
* We will add this entry again to make sure it is written to enough
* replicas. We subtract the length of the data itself, since it will
@@ -138,7 +138,7 @@ class LedgerRecoveryOp implements ReadEn
*/
lh.length = entry.getLength() - (long) data.length;
lh.asyncAddEntry(data, this, null);
-
+
return;
}
@@ -156,7 +156,7 @@ class LedgerRecoveryOp implements ReadEn
// otherwise, some other error, we can't handle
LOG.error("Failure " + BKException.getMessage(rc) + " while reading entry: " + lh.lastAddConfirmed + 1
- + " ledger: " + lh.ledgerId + " while recovering ledger");
+ + " ledger: " + lh.ledgerId + " while recovering ledger");
cb.operationComplete(rc, null);
return;
}
@@ -167,7 +167,7 @@ class LedgerRecoveryOp implements ReadEn
// Give up, we can't recover from this error
LOG.error("Failure " + BKException.getMessage(rc) + " while writing entry: " + lh.lastAddConfirmed + 1
- + " ledger: " + lh.ledgerId + " while recovering ledger");
+ + " ledger: " + lh.ledgerId + " while recovering ledger");
cb.operationComplete(rc, null);
return;
}
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/MacDigestManager.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/MacDigestManager.java?rev=1165369&r1=1165368&r2=1165369&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/MacDigestManager.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/MacDigestManager.java Mon Sep 5 17:38:57 2011
@@ -36,15 +36,15 @@ public class MacDigestManager extends Di
SecretKeySpec keySpec = new SecretKeySpec(macKey, KEY_ALGORITHM);
mac = Mac.getInstance(KEY_ALGORITHM);
mac.init(keySpec);
-
-
+
+
}
static byte[] genDigest(String pad, byte[] passwd) throws NoSuchAlgorithmException {
MessageDigest digest = MessageDigest.getInstance(DIGEST_ALGORITHM);
digest.update(pad.getBytes());
digest.update(passwd);
- return digest.digest();
+ return digest.digest();
}
@Override
@@ -52,16 +52,16 @@ public class MacDigestManager extends Di
return 20;
}
-
+
@Override
byte[] getValueAndReset() {
return mac.doFinal();
}
-
+
@Override
void update(byte[] data, int offset, int length) {
mac.update(data, offset, length);
}
-
-
+
+
}
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/PendingAddOp.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/PendingAddOp.java?rev=1165369&r1=1165368&r2=1165369&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/PendingAddOp.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/PendingAddOp.java Mon Sep 5 17:38:57 2011
@@ -30,8 +30,8 @@ import org.jboss.netty.buffer.ChannelBuf
* sends ack back to the application. If a bookie fails, a replacement is made
* and placed at the same position in the ensemble. The pending adds are then
* rereplicated.
- *
- *
+ *
+ *
*/
class PendingAddOp implements WriteCallback {
final static Logger LOG = Logger.getLogger(PendingAddOp.class);
@@ -55,7 +55,7 @@ class PendingAddOp implements WriteCallb
void sendWriteRequest(int bookieIndex, int arrayIndex) {
lh.bk.bookieClient.addEntry(lh.metadata.currentEnsemble.get(bookieIndex), lh.ledgerId, lh.ledgerKey, entryId, toSend,
- this, arrayIndex);
+ this, arrayIndex);
}
void unsetSuccessAndSendWriteRequest(int bookieIndex) {
@@ -70,14 +70,14 @@ class PendingAddOp implements WriteCallb
if (replicaIndex < 0) {
if (LOG.isDebugEnabled()) {
LOG.debug("Leaving unchanged, ledger: " + lh.ledgerId + " entry: " + entryId + " bookie index: "
- + bookieIndex);
+ + bookieIndex);
}
return;
}
if (LOG.isDebugEnabled()) {
LOG.debug("Unsetting success for ledger: " + lh.ledgerId + " entry: " + entryId + " bookie index: "
- + bookieIndex);
+ + bookieIndex);
}
// if we had already heard a success from this array index, need to
@@ -87,8 +87,8 @@ class PendingAddOp implements WriteCallb
successesSoFar[replicaIndex] = false;
numResponsesPending++;
}
-
- sendWriteRequest(bookieIndex, replicaIndex);
+
+ sendWriteRequest(bookieIndex, replicaIndex);
}
void initiate(ChannelBuffer toSend) {
@@ -110,7 +110,7 @@ class PendingAddOp implements WriteCallb
LOG.warn("Write did not succeed: " + ledgerId + ", " + entryId + ". But we have already fixed it.");
return;
}
-
+
if (rc != BKException.Code.OK) {
LOG.warn("Write did not succeed: " + ledgerId + ", " + entryId);
lh.handleBookieFailure(addr, bookieIndex);
@@ -121,13 +121,13 @@ class PendingAddOp implements WriteCallb
if (!successesSoFar[replicaIndex]) {
successesSoFar[replicaIndex] = true;
numResponsesPending--;
-
+
// do some quick checks to see if some adds may have finished. All
// this will be checked under locks again
if (numResponsesPending == 0 && lh.pendingAddOps.peek() == this) {
lh.sendAddSuccessCallbacks();
}
- }
+ }
}
void submitCallback(final int rc) {
@@ -135,4 +135,4 @@ class PendingAddOp implements WriteCallb
lh.opCounterSem.release();
}
-}
\ No newline at end of file
+}
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/PendingReadOp.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/PendingReadOp.java?rev=1165369&r1=1165368&r2=1165369&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/PendingReadOp.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/PendingReadOp.java Mon Sep 5 17:38:57 2011
@@ -1,7 +1,7 @@
package org.apache.bookkeeper.client;
/*
- *
+ *
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -9,16 +9,16 @@ package org.apache.bookkeeper.client;
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- *
+ *
*/
import java.net.InetSocketAddress;
@@ -42,7 +42,7 @@ import java.io.IOException;
* When all the data read has come back, the application callback is called.
* This class could be improved because we could start pushing data to the
* application as soon as it arrives rather than waiting for the whole thing.
- *
+ *
*/
class PendingReadOp implements Enumeration<LedgerEntry>, ReadEntryCallback {
@@ -73,12 +73,12 @@ class PendingReadOp implements Enumerati
ArrayList<InetSocketAddress> ensemble = null;
do {
- if(LOG.isDebugEnabled()){
+ if(LOG.isDebugEnabled()) {
LOG.debug("Acquiring lock: " + i);
}
-
+
lh.opCounterSem.acquire();
-
+
if (i == nextEnsembleChange) {
ensemble = lh.metadata.getEnsemble(i);
nextEnsembleChange = lh.metadata.getNextEnsembleChange(i);
@@ -108,7 +108,7 @@ class PendingReadOp implements Enumerati
ArrayList<InetSocketAddress> ensemble = lh.metadata.getEnsemble(entry.entryId);
int bookeIndex = lh.distributionSchedule.getBookieIndex(entry.entryId, entry.nextReplicaIndexToReadFrom - 1);
LOG.error(errMsg + " while reading entry: " + entry.entryId + " ledgerId: " + lh.ledgerId + " from bookie: "
- + ensemble.get(bookeIndex));
+ + ensemble.get(bookeIndex));
sendRead(ensemble, entry, rc);
return;
}
@@ -121,7 +121,7 @@ class PendingReadOp implements Enumerati
logErrorAndReattemptRead(entry, "Error: " + BKException.getMessage(rc), rc);
return;
}
-
+
ChannelBufferInputStream is;
try {
is = lh.macManager.verifyDigestAndReturnData(entryId, buffer);
@@ -129,9 +129,9 @@ class PendingReadOp implements Enumerati
logErrorAndReattemptRead(entry, "Mac mismatch", BKException.Code.DigestMatchException);
return;
}
-
+
entry.entryDataStream = is;
-
+
/*
* The length is a long and it is the last field of the metadata of an entry.
* Consequently, we have to subtract 8 from METADATA_LENGTH to get the length.
@@ -142,18 +142,18 @@ class PendingReadOp implements Enumerati
if (numPendingReads == 0) {
submitCallback(BKException.Code.OK);
}
-
- if(LOG.isDebugEnabled()){
+
+ if(LOG.isDebugEnabled()) {
LOG.debug("Releasing lock: " + entryId);
}
-
+
lh.opCounterSem.release();
-
+
if(numPendingReads < 0)
LOG.error("Read too many values");
}
- private void submitCallback(int code){
+ private void submitCallback(int code) {
cb.readComplete(code, lh, PendingReadOp.this, PendingReadOp.this.ctx);
}
public boolean hasMoreElements() {
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/ReadLastConfirmedOp.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/ReadLastConfirmedOp.java?rev=1165369&r1=1165368&r2=1165369&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/ReadLastConfirmedOp.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/ReadLastConfirmedOp.java Mon Sep 5 17:38:57 2011
@@ -30,16 +30,16 @@ import org.apache.log4j.Logger;
import org.jboss.netty.buffer.ChannelBuffer;
/**
- * This class encapsulated the read last confirmed operation.
- *
+ * This class encapsulated the read last confirmed operation.
+ *
*/
class ReadLastConfirmedOp implements ReadEntryCallback {
static final Logger LOG = Logger.getLogger(LedgerRecoveryOp.class);
LedgerHandle lh;
- Object ctx;
+ Object ctx;
int numResponsesPending;
int validResponses;
- long maxAddConfirmed;
+ long maxAddConfirmed;
long maxLength = 0;
volatile boolean notComplete = true;
@@ -62,9 +62,9 @@ class ReadLastConfirmedOp implements Rea
public synchronized void readEntryComplete(final int rc, final long ledgerId, final long entryId,
final ChannelBuffer buffer, final Object ctx) {
int bookieIndex = (Integer) ctx;
-
+
numResponsesPending--;
-
+
if (rc == BKException.Code.OK) {
try {
RecoveryData recoveryData = lh.macManager.verifyDigestAndReturnLastConfirmed(buffer);
@@ -74,10 +74,10 @@ class ReadLastConfirmedOp implements Rea
// Too bad, this bookie didn't give us a valid answer, we
// still might be able to recover though so continue
LOG.error("Mac mismatch while reading last entry from bookie: "
- + lh.metadata.currentEnsemble.get(bookieIndex));
+ + lh.metadata.currentEnsemble.get(bookieIndex));
}
}
-
+
if (rc == BKException.Code.NoSuchLedgerExistsException || rc == BKException.Code.NoSuchEntryException) {
// this still counts as a valid response, e.g., if the client crashed without writing any entry
validResponses++;
@@ -96,6 +96,6 @@ class ReadLastConfirmedOp implements Rea
LOG.error("While recovering ledger: " + ledgerId + " did not hear success responses from all quorums");
cb.readLastConfirmedComplete(BKException.Code.LedgerRecoveryException, maxAddConfirmed, ctx);
}
-
+
}
}
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/RoundRobinDistributionSchedule.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/RoundRobinDistributionSchedule.java?rev=1165369&r1=1165368&r2=1165369&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/RoundRobinDistributionSchedule.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/RoundRobinDistributionSchedule.java Mon Sep 5 17:38:57 2011
@@ -25,7 +25,7 @@ import org.apache.bookkeeper.util.MathUt
* fashion. For ensemble size 3, and quorum size 2, Entry 0 goes to bookie 0 and
* 1, entry 1 goes to bookie 1 and 2, and entry 2 goes to bookie 2 and 0, and so
* on.
- *
+ *
*/
class RoundRobinDistributionSchedule implements DistributionSchedule {
int quorumSize;
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/SyncCounter.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/SyncCounter.java?rev=1165369&r1=1165368&r2=1165369&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/SyncCounter.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/SyncCounter.java Mon Sep 5 17:38:57 2011
@@ -25,7 +25,7 @@ import java.util.Enumeration;
/**
* Implements objects to help with the synchronization of asynchronous calls
- *
+ *
*/
class SyncCounter {
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieClient.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieClient.java?rev=1165369&r1=1165368&r2=1165369&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieClient.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieClient.java Mon Sep 5 17:38:57 2011
@@ -1,7 +1,7 @@
package org.apache.bookkeeper.proto;
/*
- *
+ *
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -9,16 +9,16 @@ package org.apache.bookkeeper.proto;
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- *
+ *
*/
import java.io.IOException;
@@ -39,7 +39,7 @@ import org.jboss.netty.channel.socket.ni
/**
* Implements the client-side part of the BookKeeper protocol.
- *
+ *
*/
public class BookieClient {
static final Logger LOG = Logger.getLogger(BookieClient.class);
@@ -73,7 +73,7 @@ public class BookieClient {
}
public void addEntry(final InetSocketAddress addr, final long ledgerId, final byte[] masterKey, final long entryId,
- final ChannelBuffer toSend, final WriteCallback cb, final Object ctx) {
+ final ChannelBuffer toSend, final WriteCallback cb, final Object ctx) {
final PerChannelBookieClient client = lookupClient(addr);
@@ -90,7 +90,7 @@ public class BookieClient {
}
public void readEntry(final InetSocketAddress addr, final long ledgerId, final long entryId,
- final ReadEntryCallback cb, final Object ctx) {
+ final ReadEntryCallback cb, final Object ctx) {
final PerChannelBookieClient client = lookupClient(addr);
@@ -107,8 +107,8 @@ public class BookieClient {
});
}
- public void close(){
- for (PerChannelBookieClient channel: channels.values()){
+ public void close() {
+ for (PerChannelBookieClient channel: channels.values()) {
channel.close();
}
}
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieProtocol.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieProtocol.java?rev=1165369&r1=1165368&r2=1165369&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieProtocol.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieProtocol.java Mon Sep 5 17:38:57 2011
@@ -1,7 +1,7 @@
package org.apache.bookkeeper.proto;
/*
- *
+ *
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -9,23 +9,23 @@ package org.apache.bookkeeper.proto;
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- *
+ *
*/
/**
* The packets of the Bookie protocol all have a 4-byte integer indicating the
* type of request or response at the very beginning of the packet followed by a
* payload.
- *
+ *
*/
public interface BookieProtocol {
/**
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServer.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServer.java?rev=1165369&r1=1165368&r2=1165369&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServer.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServer.java Mon Sep 5 17:38:57 2011
@@ -1,7 +1,7 @@
package org.apache.bookkeeper.proto;
/*
- *
+ *
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -9,16 +9,16 @@ package org.apache.bookkeeper.proto;
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- *
+ *
*/
import java.io.File;
@@ -33,7 +33,7 @@ import org.apache.log4j.Logger;
/**
* Implements the server-side part of the BookKeeper protocol.
- *
+ *
*/
public class BookieServer implements NIOServerFactory.PacketProcessor, BookkeeperInternalCallbacks.WriteCallback {
int port;
@@ -64,7 +64,7 @@ public class BookieServer implements NIO
running = false;
}
- public boolean isRunning(){
+ public boolean isRunning() {
return bookie.isRunning() && nioServerFactory.isRunning() && running;
}
@@ -138,8 +138,8 @@ public class BookieServer implements NIO
sb.append(ledgerDirectory[i]);
}
String hello = String.format(
- "Hello, I'm your bookie, listening on port %1$s. ZKServers are on %2$s. Journals are in %3$s. Ledgers are stored in %4$s.",
- port, zkServers, journalDirectory, sb);
+ "Hello, I'm your bookie, listening on port %1$s. ZKServers are on %2$s. Journals are in %3$s. Ledgers are stored in %4$s.",
+ port, zkServers, journalDirectory, sb);
LOG.info(hello);
BookieServer bs = new BookieServer(port, zkServers, journalDirectory, ledgerDirectory);
bs.start();
@@ -254,5 +254,5 @@ public class BookieServer implements NIO
}
src.sendResponse(new ByteBuffer[] { bb });
}
-
+
}
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookkeeperInternalCallbacks.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookkeeperInternalCallbacks.java?rev=1165369&r1=1165368&r2=1165369&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookkeeperInternalCallbacks.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookkeeperInternalCallbacks.java Mon Sep 5 17:38:57 2011
@@ -1,5 +1,5 @@
/*
- *
+ *
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -7,16 +7,16 @@
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- *
+ *
*/
package org.apache.bookkeeper.proto;
@@ -33,7 +33,7 @@ public class BookkeeperInternalCallbacks
/**
* Callback for calls from BookieClient objects. Such calls are for replies
* of write operations (operations to add an entry to a ledger).
- *
+ *
*/
public interface WriteCallback {
@@ -43,12 +43,12 @@ public class BookkeeperInternalCallbacks
public interface GenericCallback<T> {
void operationComplete(int rc, T result);
}
-
+
/**
* Declaration of a callback implementation for calls from BookieClient objects.
* Such calls are for replies of read operations (operations to read an entry
* from a ledger).
- *
+ *
*/
public interface ReadEntryCallback {
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/NIOServerFactory.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/NIOServerFactory.java?rev=1165369&r1=1165368&r2=1165369&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/NIOServerFactory.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/NIOServerFactory.java Mon Sep 5 17:38:57 2011
@@ -45,7 +45,7 @@ public class NIOServerFactory extends Th
public interface PacketProcessor {
public void processPacket(ByteBuffer packet, Cnxn src);
}
-
+
ServerStats stats = new ServerStats();
Logger LOG = Logger.getLogger(NIOServerFactory.class);
@@ -93,7 +93,7 @@ public class NIOServerFactory extends Th
public boolean isRunning() {
return !ss.socket().isClosed();
}
-
+
@Override
public void run() {
while (!ss.socket().isClosed()) {
@@ -129,7 +129,7 @@ public class NIOServerFactory extends Th
/**
* clear all the connections in the selector
- *
+ *
*/
synchronized public void clear() {
selector.wakeup();
@@ -339,7 +339,7 @@ public class NIOServerFactory extends Th
/*
* (non-Javadoc)
- *
+ *
* @see org.apache.zookeeper.server.ServerCnxnIface#getSessionTimeout()
*/
public int getSessionTimeout() {
@@ -371,7 +371,7 @@ public class NIOServerFactory extends Th
/*
* (non-Javadoc)
- *
+ *
* @see org.apache.zookeeper.server.ServerCnxnIface#close()
*/
public void close() {
@@ -503,9 +503,9 @@ public class NIOServerFactory extends Th
Channel channel = sk.channel();
if (channel instanceof SocketChannel) {
sb.append(" ").append(((SocketChannel) channel).socket().getRemoteSocketAddress()).append("[")
- .append(Integer.toHexString(sk.interestOps())).append("](queued=").append(
- getOutstandingRequests()).append(",recved=").append(getPacketsReceived()).append(
- ",sent=").append(getPacketsSent()).append(")\n");
+ .append(Integer.toHexString(sk.interestOps())).append("](queued=").append(
+ getOutstandingRequests()).append(",recved=").append(getPacketsReceived()).append(
+ ",sent=").append(getPacketsSent()).append(")\n");
}
return sb.toString();
}
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/PerChannelBookieClient.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/PerChannelBookieClient.java?rev=1165369&r1=1165368&r2=1165369&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/PerChannelBookieClient.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/PerChannelBookieClient.java Mon Sep 5 17:38:57 2011
@@ -57,7 +57,7 @@ import org.jboss.netty.handler.codec.fra
/**
* This class manages all details of connection to a particular bookie. It also
* has reconnect logic if a connection to a bookie fails.
- *
+ *
*/
@ChannelPipelineCoverage("one")
@@ -87,7 +87,7 @@ public class PerChannelBookieClient exte
Channel channel = null;
public PerChannelBookieClient(OrderedSafeExecutor executor, ClientSocketChannelFactory channelFactory,
- InetSocketAddress addr, AtomicLong totalBytesOutstanding) {
+ InetSocketAddress addr, AtomicLong totalBytesOutstanding) {
this.addr = addr;
this.executor = executor;
this.totalBytesOutstanding = totalBytesOutstanding;
@@ -192,7 +192,7 @@ public class PerChannelBookieClient exte
/**
* This method should be called only after connection has been checked for
* {@link #connectIfNeededAndDoOp(GenericCallback)}
- *
+ *
* @param ledgerId
* @param masterKey
* @param entryId
@@ -203,10 +203,10 @@ public class PerChannelBookieClient exte
* @param ctx
*/
void addEntry(final long ledgerId, byte[] masterKey, final long entryId, ChannelBuffer toSend, WriteCallback cb,
- Object ctx) {
+ Object ctx) {
final int entrySize = toSend.readableBytes();
-
+
// if (totalBytesOutstanding.get() > maxMemory) {
// // TODO: how to throttle, throw an exception, or call the callback?
// // Maybe this should be done at the layer above?
@@ -217,8 +217,8 @@ public class PerChannelBookieClient exte
addCompletions.put(completionKey, new AddCompletion(cb, entrySize, ctx));
int totalHeaderSize = 4 // for the length of the packet
- + 4 // for the type of request
- + masterKey.length; // for the master key
+ + 4 // for the type of request
+ + masterKey.length; // for the master key
ChannelBuffer header = channel.getConfig().getBufferFactory().getBuffer(totalHeaderSize);
header.writeInt(totalHeaderSize - 4 + entrySize);
@@ -234,7 +234,7 @@ public class PerChannelBookieClient exte
if (future.isSuccess()) {
if (LOG.isDebugEnabled()) {
LOG.debug("Successfully wrote request for adding entry: " + entryId + " ledger-id: " + ledgerId
- + " bookie: " + channel.getRemoteAddress() + " entry length: " + entrySize);
+ + " bookie: " + channel.getRemoteAddress() + " entry length: " + entrySize);
}
// totalBytesOutstanding.addAndGet(entrySize);
} else {
@@ -251,9 +251,9 @@ public class PerChannelBookieClient exte
readCompletions.put(key, new ReadCompletion(cb, ctx));
int totalHeaderSize = 4 // for the length of the packet
- + 4 // for request type
- + 8 // for ledgerId
- + 8; // for entryId
+ + 4 // for request type
+ + 8 // for ledgerId
+ + 8; // for entryId
ChannelBuffer tmpEntry = channel.getConfig().getBufferFactory().getBuffer(totalHeaderSize);
tmpEntry.writeInt(totalHeaderSize - 4);
@@ -268,7 +268,7 @@ public class PerChannelBookieClient exte
if (future.isSuccess()) {
if (LOG.isDebugEnabled()) {
LOG.debug("Successfully wrote request for reading entry: " + entryId + " ledger-id: "
- + ledgerId + " bookie: " + channel.getRemoteAddress());
+ + ledgerId + " bookie: " + channel.getRemoteAddress());
}
} else {
errorOutReadKey(key);
@@ -293,10 +293,10 @@ public class PerChannelBookieClient exte
if (readCompletion != null) {
LOG.error("Could not write request for reading entry: " + key.entryId + " ledger-id: "
- + key.ledgerId + " bookie: " + channel.getRemoteAddress());
+ + key.ledgerId + " bookie: " + channel.getRemoteAddress());
readCompletion.cb.readEntryComplete(BKException.Code.BookieHandleNotAvailableException,
- key.ledgerId, key.entryId, null, readCompletion.ctx);
+ key.ledgerId, key.entryId, null, readCompletion.ctx);
}
}
@@ -315,10 +315,10 @@ public class PerChannelBookieClient exte
if(channel != null)
bAddress = channel.getRemoteAddress().toString();
LOG.error("Could not write request for adding entry: " + key.entryId + " ledger-id: "
- + key.ledgerId + " bookie: " + bAddress);
+ + key.ledgerId + " bookie: " + bAddress);
addCompletion.cb.writeComplete(BKException.Code.BookieHandleNotAvailableException, key.ledgerId,
- key.entryId, addr, addCompletion.ctx);
+ key.entryId, addr, addCompletion.ctx);
LOG.error("Invoked callback method: " + key.entryId);
}
}
@@ -372,7 +372,7 @@ public class PerChannelBookieClient exte
@Override
public void channelDisconnected(ChannelHandlerContext ctx, ChannelStateEvent e) throws Exception {
LOG.info("Disconnected from bookie: " + addr);
- errorOutOutstandingEntries();
+ errorOutOutstandingEntries();
channel.close();
connected = false;
@@ -448,7 +448,7 @@ public class PerChannelBookieClient exte
void handleAddResponse(long ledgerId, long entryId, int rc) {
if (LOG.isDebugEnabled()) {
LOG.debug("Got response for add request from bookie: " + addr + " for ledger: " + ledgerId + " entry: "
- + entryId + " rc: " + rc);
+ + entryId + " rc: " + rc);
}
// convert to BKException code because thats what the uppper
@@ -456,7 +456,7 @@ public class PerChannelBookieClient exte
// error codes.
if (rc != BookieProtocol.EOK) {
LOG.error("Add for ledger: " + ledgerId + ", entry: " + entryId + " failed on bookie: " + addr
- + " with code: " + rc);
+ + " with code: " + rc);
rc = BKException.Code.WriteException;
} else {
rc = BKException.Code.OK;
@@ -466,7 +466,7 @@ public class PerChannelBookieClient exte
ac = addCompletions.remove(new CompletionKey(ledgerId, entryId));
if (ac == null) {
LOG.error("Unexpected add response received from bookie: " + addr + " for ledger: " + ledgerId
- + ", entry: " + entryId + " , ignoring");
+ + ", entry: " + entryId + " , ignoring");
return;
}
@@ -479,7 +479,7 @@ public class PerChannelBookieClient exte
void handleReadResponse(long ledgerId, long entryId, int rc, ChannelBuffer buffer) {
if (LOG.isDebugEnabled()) {
LOG.debug("Got response for read request from bookie: " + addr + " for ledger: " + ledgerId + " entry: "
- + entryId + " rc: " + rc + "entry length: " + buffer.readableBytes());
+ + entryId + " rc: " + rc + "entry length: " + buffer.readableBytes());
}
// convert to BKException code because thats what the uppper
@@ -491,7 +491,7 @@ public class PerChannelBookieClient exte
rc = BKException.Code.NoSuchEntryException;
} else {
LOG.error("Read for ledger: " + ledgerId + ", entry: " + entryId + " failed on bookie: " + addr
- + " with code: " + rc);
+ + " with code: " + rc);
rc = BKException.Code.ReadException;
}
@@ -509,7 +509,7 @@ public class PerChannelBookieClient exte
if (readCompletion == null) {
LOG.error("Unexpected read response recieved from bookie: " + addr + " for ledger: " + ledgerId
- + ", entry: " + entryId + " , ignoring");
+ + ", entry: " + entryId + " , ignoring");
return;
}
@@ -518,7 +518,7 @@ public class PerChannelBookieClient exte
/**
* Boiler-plate wrapper classes follow
- *
+ *
*/
private static class ReadCompletion {
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/streaming/LedgerInputStream.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/streaming/LedgerInputStream.java?rev=1165369&r1=1165368&r2=1165369&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/streaming/LedgerInputStream.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/streaming/LedgerInputStream.java Mon Sep 5 17:38:57 2011
@@ -1,5 +1,5 @@
/*
- *
+ *
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -7,16 +7,16 @@
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- *
+ *
*/
package org.apache.bookkeeper.streaming;
@@ -42,7 +42,7 @@ public class LedgerInputStream extends I
/**
* construct a outputstream from a ledger handle
- *
+ *
* @param lh
* ledger handle
* @throws {@link BKException}, {@link InterruptedException}
@@ -58,7 +58,7 @@ public class LedgerInputStream extends I
/**
* construct a outputstream from a ledger handle
- *
+ *
* @param lh
* the ledger handle
* @param size
@@ -76,7 +76,7 @@ public class LedgerInputStream extends I
/**
* Method close currently doesn't do anything. The application
- * is supposed to open and close the ledger handle backing up
+ * is supposed to open and close the ledger handle backing up
* a stream ({@link LedgerHandle}).
*/
@Override
@@ -88,7 +88,7 @@ public class LedgerInputStream extends I
/**
* refill the buffer, we need to read more bytes
- *
+ *
* @return if we can refill or not
*/
private synchronized boolean refill() throws IOException {
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/streaming/LedgerOutputStream.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/streaming/LedgerOutputStream.java?rev=1165369&r1=1165368&r2=1165369&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/streaming/LedgerOutputStream.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/streaming/LedgerOutputStream.java Mon Sep 5 17:38:57 2011
@@ -1,5 +1,5 @@
/*
- *
+ *
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -7,16 +7,16 @@
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- *
+ *
*/
package org.apache.bookkeeper.streaming;
@@ -43,7 +43,7 @@ public class LedgerOutputStream extends
/**
* construct a outputstream from a ledger handle
- *
+ *
* @param lh
* ledger handle
*/
@@ -55,7 +55,7 @@ public class LedgerOutputStream extends
/**
* construct a outputstream from a ledger handle
- *
+ *
* @param lh
* the ledger handle
* @param size
@@ -97,7 +97,7 @@ public class LedgerOutputStream extends
/**
* make space for len bytes to be written to the buffer.
- *
+ *
* @param len
* @return if true then we can make space for len if false we cannot
*/
@@ -144,4 +144,4 @@ public class LedgerOutputStream extends
byte oneB = (byte) (b & 0xFF);
bytebuff.put(oneB);
}
-}
\ No newline at end of file
+}
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/tools/BookKeeperTools.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/tools/BookKeeperTools.java?rev=1165369&r1=1165368&r2=1165369&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/tools/BookKeeperTools.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/tools/BookKeeperTools.java Mon Sep 5 17:38:57 2011
@@ -1,7 +1,7 @@
package org.apache.bookkeeper.tools;
/*
- *
+ *
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -9,16 +9,16 @@ package org.apache.bookkeeper.tools;
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- *
+ *
*/
import java.io.IOException;
@@ -54,7 +54,7 @@ import org.jboss.netty.buffer.ChannelBuf
/**
* Provides Admin Tools to manage the BookKeeper cluster.
- *
+ *
*/
public class BookKeeperTools {
@@ -93,7 +93,7 @@ public class BookKeeperTools {
* how to connect to ZooKeeper to retrieve information about the BookKeeper
* cluster. We need this before we can do any type of admin operations on
* the BookKeeper cluster.
- *
+ *
* @param zkServers
* Comma separated list of hostname:port pairs for the ZooKeeper
* servers cluster.
@@ -123,7 +123,7 @@ public class BookKeeperTools {
/**
* Shutdown method to gracefully release resources that this class uses.
- *
+ *
* @throws InterruptedException
* if there is an error shutting down the clients that this
* class uses.
@@ -184,7 +184,7 @@ public class BookKeeperTools {
* placeholder function since there is no way we can get this information
* easily. In the future, BookKeeper should store this ledger metadata
* somewhere such that an admin tool can access it.
- *
+ *
* @param ledgerId
* LedgerId we are retrieving the digestType for.
* @return DigestType for the input ledger
@@ -198,7 +198,7 @@ public class BookKeeperTools {
* placeholder function since there is no way we can get this information
* easily. In the future, BookKeeper should store this ledger metadata
* somewhere such that an admin tool can access it.
- *
+ *
* @param ledgerId
* LedgerId we are retrieving the password for.
* @return Password for the input ledger
@@ -226,7 +226,7 @@ public class BookKeeperTools {
* active set of bookies, perhaps based on load. All ZooKeeper ledger
* metadata will be updated to point to the new bookie(s) that contain the
* replicated ledger fragments.
- *
+ *
* @param bookieSrc
* Source bookie that had a failure. We want to replicate the
* ledger fragments that were stored there.
@@ -268,7 +268,7 @@ public class BookKeeperTools {
* active set of bookies, perhaps based on load. All ZooKeeper ledger
* metadata will be updated to point to the new bookie(s) that contain the
* replicated ledger fragments.
- *
+ *
* @param bookieSrc
* Source bookie that had a failure. We want to replicate the
* ledger fragments that were stored there.
@@ -282,7 +282,7 @@ public class BookKeeperTools {
* Context for the RecoverCallback to call.
*/
public void asyncRecoverBookieData(final InetSocketAddress bookieSrc, final InetSocketAddress bookieDest,
- final RecoverCallback cb, final Object context) {
+ final RecoverCallback cb, final Object context) {
// Sync ZK to make sure we're reading the latest bookie/ledger data.
zk.sync(LEDGERS_PATH, new AsyncCallback.VoidCallback() {
@Override
@@ -303,7 +303,7 @@ public class BookKeeperTools {
* a specific destination bookie, then just use that one. Otherwise, we'll
* randomly pick one of the other available bookies to use for each ledger
* fragment we are replicating.
- *
+ *
* @param bookieSrc
* Source bookie that had a failure. We want to replicate the
* ledger fragments that were stored there.
@@ -317,7 +317,7 @@ public class BookKeeperTools {
* Context for the RecoverCallback to call.
*/
private void getAvailableBookies(final InetSocketAddress bookieSrc, final InetSocketAddress bookieDest,
- final RecoverCallback cb, final Object context) {
+ final RecoverCallback cb, final Object context) {
final List<InetSocketAddress> availableBookies = new LinkedList<InetSocketAddress>();
if (bookieDest != null) {
availableBookies.add(bookieDest);
@@ -329,7 +329,7 @@ public class BookKeeperTools {
public void processResult(int rc, String path, Object ctx, List<String> children) {
if (rc != Code.OK.intValue()) {
LOG.error("ZK error getting bookie nodes: ", KeeperException.create(KeeperException.Code
- .get(rc), path));
+ .get(rc), path));
cb.recoverComplete(BKException.Code.ZKException, context);
return;
}
@@ -354,7 +354,7 @@ public class BookKeeperTools {
* ledgers. From this, we can open each ledger and look at the metadata to
* determine if any of the ledger fragments for it were stored at the dead
* input bookie.
- *
+ *
* @param bookieSrc
* Source bookie that had a failure. We want to replicate the
* ledger fragments that were stored there.
@@ -373,13 +373,13 @@ public class BookKeeperTools {
* server to replicate data to.
*/
private void getActiveLedgers(final InetSocketAddress bookieSrc, final InetSocketAddress bookieDest,
- final RecoverCallback cb, final Object context, final List<InetSocketAddress> availableBookies) {
+ final RecoverCallback cb, final Object context, final List<InetSocketAddress> availableBookies) {
zk.getChildren(LEDGERS_PATH, null, new AsyncCallback.ChildrenCallback() {
@Override
public void processResult(int rc, String path, Object ctx, List<String> children) {
if (rc != Code.OK.intValue()) {
LOG.error("ZK error getting ledger nodes: ", KeeperException.create(KeeperException.Code.get(rc),
- path));
+ path));
cb.recoverComplete(BKException.Code.ZKException, context);
return;
}
@@ -409,7 +409,7 @@ public class BookKeeperTools {
/**
* This method asynchronously recovers a given ledger if any of the ledger
* entries were stored on the failed bookie.
- *
+ *
* @param bookieSrc
* Source bookie that had a failure. We want to replicate the
* ledger fragments that were stored there.
@@ -426,7 +426,7 @@ public class BookKeeperTools {
* server to replicate data to.
*/
private void recoverLedger(final InetSocketAddress bookieSrc, final String ledgerNode,
- final MultiCallback ledgerMcb, final List<InetSocketAddress> availableBookies) {
+ final MultiCallback ledgerMcb, final List<InetSocketAddress> availableBookies) {
/*
* The available node is also stored in this path so ignore that. That
* node is the path for the set of available Bookie Servers.
@@ -483,7 +483,7 @@ public class BookKeeperTools {
Map<Long, Long> ledgerFragmentsRange = new HashMap<Long, Long>();
Long curEntryId = null;
for (Map.Entry<Long, ArrayList<InetSocketAddress>> entry : lh.getLedgerMetadata().getEnsembles()
- .entrySet()) {
+ .entrySet()) {
if (curEntryId != null)
ledgerFragmentsRange.put(curEntryId, entry.getKey() - 1);
curEntryId = entry.getKey();
@@ -529,7 +529,7 @@ public class BookKeeperTools {
public void processResult(int rc, String path, Object ctx) {
if (rc != Code.OK.intValue()) {
LOG.error("BK error replicating ledger fragments for ledger: " + lId, BKException
- .create(rc));
+ .create(rc));
ledgerMcb.processResult(rc, null, null);
return;
}
@@ -549,11 +549,11 @@ public class BookKeeperTools {
public void processResult(int rc, String path, Object ctx, Stat stat) {
if (rc != Code.OK.intValue()) {
LOG.error("ZK error updating ledger config metadata for ledgerId: " + lh.getId(),
- KeeperException.create(KeeperException.Code.get(rc), path));
+ KeeperException.create(KeeperException.Code.get(rc), path));
} else {
LOG.info("Updated ZK for ledgerId: (" + lh.getId()
- + ") to point ledger fragments from old dead bookie: (" + bookieSrc
- + ") to new bookie: (" + newBookie + ")");
+ + ") to point ledger fragments from old dead bookie: (" + bookieSrc
+ + ") to new bookie: (" + newBookie + ")");
}
/*
* Pass the return code result up the chain with
@@ -588,7 +588,7 @@ public class BookKeeperTools {
* This method asynchronously recovers a ledger fragment which is a
* contiguous portion of a ledger that was stored in an ensemble that
* included the failed bookie.
- *
+ *
* @param bookieSrc
* Source bookie that had a failure. We want to replicate the
* ledger fragments that were stored there.
@@ -606,15 +606,15 @@ public class BookKeeperTools {
* entries that were stored on the failed bookie.
*/
private void recoverLedgerFragment(final InetSocketAddress bookieSrc, final LedgerHandle lh,
- final Long startEntryId, final Long endEntryId, final MultiCallback ledgerFragmentMcb,
- final InetSocketAddress newBookie) throws InterruptedException {
+ final Long startEntryId, final Long endEntryId, final MultiCallback ledgerFragmentMcb,
+ final InetSocketAddress newBookie) throws InterruptedException {
if (endEntryId == null) {
/*
* Ideally this should never happen if bookie failure is taken care
* of properly. Nothing we can do though in this case.
*/
LOG.warn("Dead bookie (" + bookieSrc + ") is still part of the current active ensemble for ledgerId: "
- + lh.getId());
+ + lh.getId());
ledgerFragmentMcb.processResult(BKException.Code.OK, null, null);
return;
}
@@ -655,7 +655,7 @@ public class BookKeeperTools {
* This method asynchronously recovers a specific ledger entry by reading
* the values via the BookKeeper Client (which would read it from the other
* replicas) and then writing it to the chosen new bookie.
- *
+ *
* @param entryId
* Ledger Entry ID to recover.
* @param lh
@@ -668,7 +668,7 @@ public class BookKeeperTools {
* entries that were stored on the failed bookie.
*/
private void recoverLedgerFragmentEntry(final Long entryId, final LedgerHandle lh,
- final MultiCallback ledgerFragmentEntryMcb, final InetSocketAddress newBookie) throws InterruptedException {
+ final MultiCallback ledgerFragmentEntryMcb, final InetSocketAddress newBookie) throws InterruptedException {
/*
* Read the ledger entry using the LedgerHandle. This will allow us to
* read the entry from one of the other replicated bookies other than
@@ -689,32 +689,32 @@ public class BookKeeperTools {
LedgerEntry entry = seq.nextElement();
byte[] data = entry.getEntry();
ChannelBuffer toSend = lh.getDigestManager().computeDigestAndPackageForSending(entryId,
- lh.getLastAddConfirmed(), entry.getLength(), data, 0, data.length);
+ lh.getLastAddConfirmed(), entry.getLength(), data, 0, data.length);
bkc.getBookieClient().addEntry(newBookie, lh.getId(), lh.getLedgerKey(), entryId, toSend,
- new WriteCallback() {
- @Override
- public void writeComplete(int rc, long ledgerId, long entryId, InetSocketAddress addr,
- Object ctx) {
- if (rc != Code.OK.intValue()) {
- LOG.error("BK error writing entry for ledgerId: " + ledgerId + ", entryId: "
- + entryId + ", bookie: " + addr, BKException.create(rc));
- } else {
- LOG.debug("Success writing ledger entry to a new bookie!");
- }
- /*
- * Pass the return code result up the chain with
- * the parent callback.
- */
- ledgerFragmentEntryMcb.processResult(rc, null, null);
- }
- }, null);
+ new WriteCallback() {
+ @Override
+ public void writeComplete(int rc, long ledgerId, long entryId, InetSocketAddress addr,
+ Object ctx) {
+ if (rc != Code.OK.intValue()) {
+ LOG.error("BK error writing entry for ledgerId: " + ledgerId + ", entryId: "
+ + entryId + ", bookie: " + addr, BKException.create(rc));
+ } else {
+ LOG.debug("Success writing ledger entry to a new bookie!");
+ }
+ /*
+ * Pass the return code result up the chain with
+ * the parent callback.
+ */
+ ledgerFragmentEntryMcb.processResult(rc, null, null);
+ }
+ }, null);
}
}, null);
}
/**
* Main method so we can invoke the bookie recovery via command line.
- *
+ *
* @param args
* Arguments to BookKeeperTools. 2 are required and the third is
* optional. The first is a comma separated list of ZK server
@@ -746,7 +746,7 @@ public class BookKeeperTools {
String bookieDestString[] = args[2].split(COLON);
if (bookieDestString.length < 2) {
System.err.println("BookieDest inputted has invalid name format (host:port expected): "
- + bookieDestString);
+ + bookieDestString);
return;
}
bookieDest = new InetSocketAddress(bookieDestString[0], Integer.parseInt(bookieDestString[1]));
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/LocalBookKeeper.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/LocalBookKeeper.java?rev=1165369&r1=1165368&r2=1165369&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/LocalBookKeeper.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/LocalBookKeeper.java Mon Sep 5 17:38:57 2011
@@ -44,123 +44,123 @@ import org.apache.zookeeper.server.ZooKe
public class LocalBookKeeper {
protected static final Logger LOG = Logger.getLogger(LocalBookKeeper.class);
public static final int CONNECTION_TIMEOUT = 30000;
-
+
ConsoleAppender ca;
int numberOfBookies;
-
+
public LocalBookKeeper() {
- ca = new ConsoleAppender(new PatternLayout());
- LOG.addAppender(ca);
- LOG.setLevel(Level.INFO);
- numberOfBookies = 3;
- }
-
- public LocalBookKeeper(int numberOfBookies){
- this();
- this.numberOfBookies = numberOfBookies;
- LOG.info("Running " + this.numberOfBookies + " bookie(s).");
+ ca = new ConsoleAppender(new PatternLayout());
+ LOG.addAppender(ca);
+ LOG.setLevel(Level.INFO);
+ numberOfBookies = 3;
+ }
+
+ public LocalBookKeeper(int numberOfBookies) {
+ this();
+ this.numberOfBookies = numberOfBookies;
+ LOG.info("Running " + this.numberOfBookies + " bookie(s).");
}
-
+
private final String HOSTPORT = "127.0.0.1:2181";
NIOServerCnxnFactory serverFactory;
ZooKeeperServer zks;
ZooKeeper zkc;
int ZooKeeperDefaultPort = 2181;
File ZkTmpDir;
-
+
//BookKeeper variables
File tmpDirs[];
BookieServer bs[];
Integer initialPort = 5000;
-
+
/**
* @param args
*/
-
- private void runZookeeper(int maxCC) throws IOException{
- // create a ZooKeeper server(dataDir, dataLogDir, port)
- LOG.info("Starting ZK server");
- //ServerStats.registerAsConcrete();
- //ClientBase.setupTestEnv();
- ZkTmpDir = File.createTempFile("zookeeper", "test");
+
+ private void runZookeeper(int maxCC) throws IOException {
+ // create a ZooKeeper server(dataDir, dataLogDir, port)
+ LOG.info("Starting ZK server");
+ //ServerStats.registerAsConcrete();
+ //ClientBase.setupTestEnv();
+ ZkTmpDir = File.createTempFile("zookeeper", "test");
ZkTmpDir.delete();
ZkTmpDir.mkdir();
-
- try {
- zks = new ZooKeeperServer(ZkTmpDir, ZkTmpDir, ZooKeeperDefaultPort);
- serverFactory = new NIOServerCnxnFactory();
- serverFactory.configure(new InetSocketAddress(ZooKeeperDefaultPort), maxCC);
- serverFactory.startup(zks);
- } catch (Exception e) {
- // TODO Auto-generated catch block
- LOG.fatal("Exception while instantiating ZooKeeper", e);
- }
+
+ try {
+ zks = new ZooKeeperServer(ZkTmpDir, ZkTmpDir, ZooKeeperDefaultPort);
+ serverFactory = new NIOServerCnxnFactory();
+ serverFactory.configure(new InetSocketAddress(ZooKeeperDefaultPort), maxCC);
+ serverFactory.startup(zks);
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ LOG.fatal("Exception while instantiating ZooKeeper", e);
+ }
boolean b = waitForServerUp(HOSTPORT, CONNECTION_TIMEOUT);
LOG.debug("ZooKeeper server up: " + b);
}
-
- private void initializeZookeper(){
- LOG.info("Instantiate ZK Client");
- //initialize the zk client with values
- try {
- zkc = new ZooKeeper("127.0.0.1", ZooKeeperDefaultPort, new emptyWatcher());
- zkc.create("/ledgers", new byte[0], Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
- zkc.create("/ledgers/available", new byte[0], Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
- // No need to create an entry for each requested bookie anymore as the
+
+ private void initializeZookeper() {
+ LOG.info("Instantiate ZK Client");
+ //initialize the zk client with values
+ try {
+ zkc = new ZooKeeper("127.0.0.1", ZooKeeperDefaultPort, new emptyWatcher());
+ zkc.create("/ledgers", new byte[0], Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
+ zkc.create("/ledgers/available", new byte[0], Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
+ // No need to create an entry for each requested bookie anymore as the
// BookieServers will register themselves with ZooKeeper on startup.
- } catch (KeeperException e) {
- // TODO Auto-generated catch block
- LOG.fatal("Exception while creating znodes", e);
- } catch (InterruptedException e) {
- // TODO Auto-generated catch block
- LOG.fatal("Interrupted while creating znodes", e);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- LOG.fatal("Exception while creating znodes", e);
- }
- }
- private void runBookies() throws IOException{
- LOG.info("Starting Bookie(s)");
- // Create Bookie Servers (B1, B2, B3)
-
- tmpDirs = new File[numberOfBookies];
- bs = new BookieServer[numberOfBookies];
-
- for(int i = 0; i < numberOfBookies; i++){
- tmpDirs[i] = File.createTempFile("bookie" + Integer.toString(i), "test");
- tmpDirs[i].delete();
- tmpDirs[i].mkdir();
-
- bs[i] = new BookieServer(initialPort + i, InetAddress.getLocalHost().getHostAddress() + ":"
- + ZooKeeperDefaultPort, tmpDirs[i], new File[]{tmpDirs[i]});
- bs[i].start();
- }
+ } catch (KeeperException e) {
+ // TODO Auto-generated catch block
+ LOG.fatal("Exception while creating znodes", e);
+ } catch (InterruptedException e) {
+ // TODO Auto-generated catch block
+ LOG.fatal("Interrupted while creating znodes", e);
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ LOG.fatal("Exception while creating znodes", e);
+ }
}
-
+ private void runBookies() throws IOException {
+ LOG.info("Starting Bookie(s)");
+ // Create Bookie Servers (B1, B2, B3)
+
+ tmpDirs = new File[numberOfBookies];
+ bs = new BookieServer[numberOfBookies];
+
+ for(int i = 0; i < numberOfBookies; i++) {
+ tmpDirs[i] = File.createTempFile("bookie" + Integer.toString(i), "test");
+ tmpDirs[i].delete();
+ tmpDirs[i].mkdir();
+
+ bs[i] = new BookieServer(initialPort + i, InetAddress.getLocalHost().getHostAddress() + ":"
+ + ZooKeeperDefaultPort, tmpDirs[i], new File[] {tmpDirs[i]});
+ bs[i].start();
+ }
+ }
+
public static void main(String[] args) throws IOException, InterruptedException {
- if(args.length < 1){
- usage();
- System.exit(-1);
- }
- LocalBookKeeper lb = new LocalBookKeeper(Integer.parseInt(args[0]));
- lb.runZookeeper(1000);
- lb.initializeZookeper();
- lb.runBookies();
- while (true){
- Thread.sleep(5000);
- }
+ if(args.length < 1) {
+ usage();
+ System.exit(-1);
+ }
+ LocalBookKeeper lb = new LocalBookKeeper(Integer.parseInt(args[0]));
+ lb.runZookeeper(1000);
+ lb.initializeZookeper();
+ lb.runBookies();
+ while (true) {
+ Thread.sleep(5000);
+ }
}
private static void usage() {
- System.err.println("Usage: LocalBookKeeper number-of-bookies");
+ System.err.println("Usage: LocalBookKeeper number-of-bookies");
}
/* User for testing purposes, void */
- class emptyWatcher implements Watcher{
- public void process(WatchedEvent event) {}
+ class emptyWatcher implements Watcher {
+ public void process(WatchedEvent event) {}
}
-
+
public static boolean waitForServerUp(String hp, long timeout) {
long start = System.currentTimeMillis();
String split[] = hp.split(":");
@@ -177,7 +177,7 @@ public class LocalBookKeeper {
reader =
new BufferedReader(
- new InputStreamReader(sock.getInputStream()));
+ new InputStreamReader(sock.getInputStream()));
String line = reader.readLine();
if (line != null && line.startsWith("Zookeeper version:")) {
LOG.info("Server UP");
@@ -205,5 +205,5 @@ public class LocalBookKeeper {
}
return false;
}
-
+
}
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/Main.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/Main.java?rev=1165369&r1=1165368&r2=1165369&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/Main.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/Main.java Mon Sep 5 17:38:57 2011
@@ -1,7 +1,7 @@
package org.apache.bookkeeper.util;
/*
- *
+ *
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -9,16 +9,16 @@ package org.apache.bookkeeper.util;
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- *
+ *
*/
import java.io.IOException;
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/MathUtils.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/MathUtils.java?rev=1165369&r1=1165368&r2=1165369&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/MathUtils.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/MathUtils.java Mon Sep 5 17:38:57 2011
@@ -24,15 +24,15 @@ package org.apache.bookkeeper.util;
*/
public class MathUtils {
- public static int signSafeMod(long dividend, int divisor){
+ public static int signSafeMod(long dividend, int divisor) {
int mod = (int) (dividend % divisor);
-
- if (mod < 0){
+
+ if (mod < 0) {
mod += divisor;
}
-
+
return mod;
-
+
}
}
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/OrderedSafeExecutor.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/OrderedSafeExecutor.java?rev=1165369&r1=1165368&r2=1165369&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/OrderedSafeExecutor.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/OrderedSafeExecutor.java Mon Sep 5 17:38:57 2011
@@ -25,18 +25,18 @@ import java.util.concurrent.ScheduledExe
/**
* This class provides 2 things over the java {@link ScheduledExecutorService}.
- *
+ *
* 1. It takes {@link SafeRunnable objects} instead of plain Runnable objects.
* This means that exceptions in scheduled tasks wont go unnoticed and will be
* logged.
- *
+ *
* 2. It supports submitting tasks with an ordering key, so that tasks submitted
* with the same key will always be executed in order, but tasks across
* different keys can be unordered. This retains parallelism while retaining the
* basic amount of ordering we want (e.g. , per ledger handle). Ordering is
* achieved by hashing the key objects to threads by their {@link #hashCode()}
* method.
- *
+ *
*/
public class OrderedSafeExecutor {
ExecutorService threads[];
@@ -74,7 +74,7 @@ public class OrderedSafeExecutor {
}
/**
- * schedules a one time action to execute
+ * schedules a one time action to execute
*/
public void submit(SafeRunnable r) {
chooseThread().submit(r);
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/SafeRunnable.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/SafeRunnable.java?rev=1165369&r1=1165368&r2=1165369&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/SafeRunnable.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/SafeRunnable.java Mon Sep 5 17:38:57 2011
@@ -20,19 +20,19 @@ package org.apache.bookkeeper.util;
import org.apache.log4j.Logger;
-public abstract class SafeRunnable implements Runnable{
+public abstract class SafeRunnable implements Runnable {
static final Logger logger = Logger.getLogger(SafeRunnable.class);
-
-@Override
+
+ @Override
public void run() {
- try{
+ try {
safeRun();
- }catch(Throwable t){
+ } catch(Throwable t) {
logger.fatal("Unexpected throwable caught ", t);
}
}
-
+
public abstract void safeRun();
-
+
}
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/StringUtils.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/StringUtils.java?rev=1165369&r1=1165368&r2=1165369&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/StringUtils.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/StringUtils.java Mon Sep 5 17:38:57 2011
@@ -24,7 +24,7 @@ import java.net.InetSocketAddress;
/**
* Provided utilites for parsing network addresses, ledger-id from node paths
* etc.
- *
+ *
*/
public class StringUtils {
@@ -35,7 +35,7 @@ public class StringUtils {
/**
* Parses address into IP and port.
- *
+ *
* @param addr
* String
*/
@@ -63,7 +63,7 @@ public class StringUtils {
/**
* Formats ledger ID according to ZooKeeper rules
- *
+ *
* @param id
* znode id
*/
@@ -73,7 +73,7 @@ public class StringUtils {
/**
* Get the path for the ledger metadata node
- *
+ *
* @return
*/
public static String getLedgerNodePath(long ledgerId) {
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/AsyncLedgerOpsTest.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/AsyncLedgerOpsTest.java?rev=1165369&r1=1165368&r2=1165369&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/AsyncLedgerOpsTest.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/AsyncLedgerOpsTest.java Mon Sep 5 17:38:57 2011
@@ -1,7 +1,7 @@
package org.apache.bookkeeper.test;
/*
- *
+ *
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -9,16 +9,16 @@ package org.apache.bookkeeper.test;
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- *
+ *
*/
import java.io.IOException;
@@ -47,25 +47,25 @@ import org.junit.runners.Parameterized.P
* This test tests read and write, synchronous and asynchronous, strings and
* integers for a BookKeeper client. The test deployment uses a ZooKeeper server
* and three BookKeepers.
- *
+ *
*/
public class AsyncLedgerOpsTest extends BaseTestCase implements AddCallback, ReadCallback, CreateCallback,
- CloseCallback, OpenCallback {
+ CloseCallback, OpenCallback {
static Logger LOG = Logger.getLogger(BookieClientTest.class);
DigestType digestType;
-
+
public AsyncLedgerOpsTest(DigestType digestType) {
super(3);
this.digestType = digestType;
}
-
+
@Parameters
- public static Collection<Object[]> configs(){
- return Arrays.asList(new Object[][]{ {DigestType.MAC }, {DigestType.CRC32}});
+ public static Collection<Object[]> configs() {
+ return Arrays.asList(new Object[][] { {DigestType.MAC }, {DigestType.CRC32}});
}
-
-
+
+
byte[] ledgerPassword = "aaa".getBytes();
LedgerHandle lh, lh2;
long ledgerId;
@@ -107,7 +107,7 @@ public class AsyncLedgerOpsTest extends
@Test
public void testAsyncCreateClose() throws IOException {
try {
-
+
ControlObj ctx = new ControlObj();
synchronized (ctx) {
@@ -243,14 +243,14 @@ public class AsyncLedgerOpsTest extends
public void setUp() throws Exception {
super.setUp();
rng = new Random(System.currentTimeMillis()); // Initialize the Random
- // Number Generator
+ // Number Generator
entries = new ArrayList<byte[]>(); // initialize the entries list
entriesSize = new ArrayList<Integer>();
sync = new SyncObj(); // initialize the synchronization data structure
}
-
-}
\ No newline at end of file
+
+}
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BaseTestCase.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BaseTestCase.java?rev=1165369&r1=1165368&r2=1165369&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BaseTestCase.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BaseTestCase.java Mon Sep 5 17:38:57 2011
@@ -69,10 +69,10 @@ public abstract class BaseTestCase exten
public BaseTestCase(int numBookies) {
this.numBookies = numBookies;
}
-
+
@Parameters
- public static Collection<Object[]> configs(){
- return Arrays.asList(new Object[][]{ {DigestType.MAC }, {DigestType.CRC32}});
+ public static Collection<Object[]> configs() {
+ return Arrays.asList(new Object[][] { {DigestType.MAC }, {DigestType.CRC32}});
}
@@ -80,44 +80,44 @@ public abstract class BaseTestCase exten
@Override
public void setUp() throws Exception {
try {
- // create a ZooKeeper server(dataDir, dataLogDir, port)
- LOG.debug("Running ZK server");
- // ServerStats.registerAsConcrete();
- ClientBase.setupTestEnv();
- ZkTmpDir = File.createTempFile("zookeeper", "test");
- ZkTmpDir.delete();
- ZkTmpDir.mkdir();
-
- zks = new ZooKeeperServer(ZkTmpDir, ZkTmpDir, ZooKeeperDefaultPort);
- serverFactory = new NIOServerCnxnFactory();
- serverFactory.configure(new InetSocketAddress(ZooKeeperDefaultPort), 100);
- serverFactory.startup(zks);
-
- boolean b = ClientBase.waitForServerUp(HOSTPORT, ClientBase.CONNECTION_TIMEOUT);
-
- LOG.debug("Server up: " + b);
-
- // create a zookeeper client
- LOG.debug("Instantiate ZK Client");
- zkc = new ZooKeeper("127.0.0.1", ZooKeeperDefaultPort, new emptyWatcher());
-
- // initialize the zk client with values
- zkc.create("/ledgers", new byte[0], Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
- zkc.create("/ledgers/available", new byte[0], Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
-
- // Create Bookie Servers (B1, B2, B3)
- for (int i = 0; i < numBookies; i++) {
- File f = File.createTempFile("bookie", "test");
- tmpDirs.add(f);
- f.delete();
- f.mkdir();
-
- BookieServer server = new BookieServer(initialPort + i, HOSTPORT, f, new File[] { f });
- server.start();
- bs.add(server);
- }
- zkc.close();
- bkc = new BookKeeperTestClient("127.0.0.1");
+ // create a ZooKeeper server(dataDir, dataLogDir, port)
+ LOG.debug("Running ZK server");
+ // ServerStats.registerAsConcrete();
+ ClientBase.setupTestEnv();
+ ZkTmpDir = File.createTempFile("zookeeper", "test");
+ ZkTmpDir.delete();
+ ZkTmpDir.mkdir();
+
+ zks = new ZooKeeperServer(ZkTmpDir, ZkTmpDir, ZooKeeperDefaultPort);
+ serverFactory = new NIOServerCnxnFactory();
+ serverFactory.configure(new InetSocketAddress(ZooKeeperDefaultPort), 100);
+ serverFactory.startup(zks);
+
+ boolean b = ClientBase.waitForServerUp(HOSTPORT, ClientBase.CONNECTION_TIMEOUT);
+
+ LOG.debug("Server up: " + b);
+
+ // create a zookeeper client
+ LOG.debug("Instantiate ZK Client");
+ zkc = new ZooKeeper("127.0.0.1", ZooKeeperDefaultPort, new emptyWatcher());
+
+ // initialize the zk client with values
+ zkc.create("/ledgers", new byte[0], Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
+ zkc.create("/ledgers/available", new byte[0], Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
+
+ // Create Bookie Servers (B1, B2, B3)
+ for (int i = 0; i < numBookies; i++) {
+ File f = File.createTempFile("bookie", "test");
+ tmpDirs.add(f);
+ f.delete();
+ f.mkdir();
+
+ BookieServer server = new BookieServer(initialPort + i, HOSTPORT, f, new File[] { f });
+ server.start();
+ bs.add(server);
+ }
+ zkc.close();
+ bkc = new BookKeeperTestClient("127.0.0.1");
} catch(Exception e) {
LOG.error("Error setting up", e);
throw e;
@@ -132,7 +132,7 @@ public abstract class BaseTestCase exten
if (bkc != null) {
bkc.halt();;
}
-
+
for (BookieServer server : bs) {
server.shutdown();
}
@@ -148,7 +148,7 @@ public abstract class BaseTestCase exten
}
// ServerStats.unregister();
cleanUpDir(ZkTmpDir);
-
+
}