提交 1ad632d6 编写于 作者: Y Yong Zhang 提交者: Sijie Guo

[Transaction][Buffer] move the transaction buffer code to the broker module (#4919)


*Motivation*

Currently, all transaction buffer code in the transaction module. A transaction buffer inherits `PersistentTopic`, it depends on the pulsar-broker module. When we need to create a transaction buffer at the pulsar-broker, the pulsar-broker depends on the transaction module. So it will cause cyclic reference.

*Modifications*

- move the code under transaction buffer module to the broker module
上级 18d21acd
......@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.pulsar.transaction.buffer;
package org.apache.pulsar.broker.transaction.buffer;
import com.google.common.annotations.Beta;
import io.netty.buffer.ByteBuf;
......@@ -52,7 +52,7 @@ public interface TransactionBuffer {
*
* @param txnID the transaction id
* @return a future represents the result of the operation
* @throws org.apache.pulsar.transaction.buffer.exceptions.TransactionNotFoundException if the transaction
* @throws org.apache.pulsar.broker.transaction.buffer.exceptions.TransactionNotFoundException if the transaction
* is not in the buffer.
*/
CompletableFuture<TransactionMeta> getTransactionMeta(TxnID txnID);
......@@ -66,7 +66,7 @@ public interface TransactionBuffer {
* @param sequenceId the sequence id of the entry in this transaction buffer.
* @param buffer the entry buffer
* @return a future represents the result of the operation.
* @throws org.apache.pulsar.transaction.buffer.exceptions.TransactionSealedException if the transaction
* @throws org.apache.pulsar.broker.transaction.buffer.exceptions.TransactionSealedException if the transaction
* has been sealed.
*/
CompletableFuture<Void> appendBufferToTxn(TxnID txnId, long sequenceId, ByteBuf buffer);
......@@ -78,7 +78,7 @@ public interface TransactionBuffer {
* @param txnID transaction id
* @param startSequenceId the sequence id to start read
* @return a future represents the result of open operation.
* @throws org.apache.pulsar.transaction.buffer.exceptions.TransactionNotFoundException if the transaction
* @throws org.apache.pulsar.broker.transaction.buffer.exceptions.TransactionNotFoundException if the transaction
* is not in the buffer.
*/
CompletableFuture<TransactionBufferReader> openTransactionBufferReader(TxnID txnID, long startSequenceId);
......@@ -92,7 +92,7 @@ public interface TransactionBuffer {
* @param committedAtLedgerId the data ledger id where the commit marker of the transaction was appended to.
* @param committedAtEntryId the data ledger id where the commit marker of the transaction was appended to.
* @return a future represents the result of commit operation.
* @throws org.apache.pulsar.transaction.buffer.exceptions.TransactionNotFoundException if the transaction
* @throws org.apache.pulsar.broker.transaction.buffer.exceptions.TransactionNotFoundException if the transaction
* is not in the buffer.
*/
CompletableFuture<Void> commitTxn(TxnID txnID, long committedAtLedgerId, long committedAtEntryId);
......@@ -103,7 +103,7 @@ public interface TransactionBuffer {
*
* @param txnID the transaction id
* @return a future represents the result of abort operation.
* @throws org.apache.pulsar.transaction.buffer.exceptions.TransactionNotFoundException if the transaction
* @throws org.apache.pulsar.broker.transaction.buffer.exceptions.TransactionNotFoundException if the transaction
* is not in the buffer.
*/
CompletableFuture<Void> abortTxn(TxnID txnID);
......
......@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.pulsar.transaction.buffer;
package org.apache.pulsar.broker.transaction.buffer;
import static com.google.common.base.Preconditions.checkArgument;
......
......@@ -16,12 +16,12 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.pulsar.transaction.buffer;
package org.apache.pulsar.broker.transaction.buffer;
import com.google.common.annotations.Beta;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import org.apache.pulsar.transaction.buffer.exceptions.EndOfTransactionException;
import org.apache.pulsar.broker.transaction.buffer.exceptions.EndOfTransactionException;
/**
* A reader to read entries of a given transaction from transaction buffer.
......
......@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.pulsar.transaction.buffer;
package org.apache.pulsar.broker.transaction.buffer;
import java.util.Set;
import java.util.concurrent.CompletableFuture;
......
......@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.pulsar.transaction.buffer;
package org.apache.pulsar.broker.transaction.buffer;
import com.google.common.annotations.Beta;
import io.netty.buffer.ByteBuf;
......
......@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.pulsar.transaction.buffer;
package org.apache.pulsar.broker.transaction.buffer;
import com.google.common.annotations.Beta;
import java.util.SortedMap;
......
......@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.pulsar.transaction.buffer.exceptions;
package org.apache.pulsar.broker.transaction.buffer.exceptions;
/**
* Exception thrown when reaching end of a transaction.
......
......@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.pulsar.transaction.buffer.exceptions;
package org.apache.pulsar.broker.transaction.buffer.exceptions;
/**
* Exception is thrown when no transactions found committed at a given ledger.
......
......@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.pulsar.transaction.buffer.exceptions;
package org.apache.pulsar.broker.transaction.buffer.exceptions;
/**
* The base exception class for the errors thrown from Transaction Buffer.
......
......@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.pulsar.transaction.buffer.exceptions;
package org.apache.pulsar.broker.transaction.buffer.exceptions;
/**
* Exception is thrown when the transaction is not found in the transaction buffer.
......
......@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.pulsar.transaction.buffer.exceptions;
package org.apache.pulsar.broker.transaction.buffer.exceptions;
/**
* Exception is thrown when opening a reader on a transaction that is not sealed yet.
......
......@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.pulsar.transaction.buffer.exceptions;
package org.apache.pulsar.broker.transaction.buffer.exceptions;
/**
* Exception thrown if a transaction is already sealed.
......
......@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.pulsar.transaction.buffer.exceptions;
package org.apache.pulsar.broker.transaction.buffer.exceptions;
import org.apache.pulsar.transaction.impl.common.TxnID;
import org.apache.pulsar.transaction.impl.common.TxnStatus;
......
......@@ -19,4 +19,4 @@
/**
* Exceptions thrown when encountering errors in transaction buffer.
*/
package org.apache.pulsar.transaction.buffer.exceptions;
\ No newline at end of file
package org.apache.pulsar.broker.transaction.buffer.exceptions;
......@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.pulsar.transaction.buffer.impl;
package org.apache.pulsar.broker.transaction.buffer.impl;
import io.netty.buffer.ByteBuf;
import java.util.ArrayList;
......@@ -32,13 +32,13 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import org.apache.bookkeeper.mledger.Position;
import org.apache.pulsar.common.util.FutureUtil;
import org.apache.pulsar.transaction.buffer.TransactionBuffer;
import org.apache.pulsar.transaction.buffer.TransactionBufferReader;
import org.apache.pulsar.transaction.buffer.TransactionMeta;
import org.apache.pulsar.transaction.buffer.exceptions.TransactionNotFoundException;
import org.apache.pulsar.transaction.buffer.exceptions.TransactionNotSealedException;
import org.apache.pulsar.transaction.buffer.exceptions.TransactionSealedException;
import org.apache.pulsar.transaction.buffer.exceptions.UnexpectedTxnStatusException;
import org.apache.pulsar.broker.transaction.buffer.TransactionBuffer;
import org.apache.pulsar.broker.transaction.buffer.TransactionBufferReader;
import org.apache.pulsar.broker.transaction.buffer.TransactionMeta;
import org.apache.pulsar.broker.transaction.buffer.exceptions.TransactionNotFoundException;
import org.apache.pulsar.broker.transaction.buffer.exceptions.TransactionNotSealedException;
import org.apache.pulsar.broker.transaction.buffer.exceptions.TransactionSealedException;
import org.apache.pulsar.broker.transaction.buffer.exceptions.UnexpectedTxnStatusException;
import org.apache.pulsar.transaction.impl.common.TxnID;
import org.apache.pulsar.transaction.impl.common.TxnStatus;
......
......@@ -16,11 +16,11 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.pulsar.transaction.buffer.impl;
package org.apache.pulsar.broker.transaction.buffer.impl;
import java.util.concurrent.CompletableFuture;
import org.apache.pulsar.transaction.buffer.TransactionBuffer;
import org.apache.pulsar.transaction.buffer.TransactionBufferProvider;
import org.apache.pulsar.broker.transaction.buffer.TransactionBuffer;
import org.apache.pulsar.broker.transaction.buffer.TransactionBufferProvider;
/**
* A provider that provides in-memory implementations of {@link TransactionBuffer}.
......
......@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.pulsar.transaction.buffer.impl;
package org.apache.pulsar.broker.transaction.buffer.impl;
import io.netty.buffer.ByteBuf;
import java.util.ArrayList;
......@@ -24,15 +24,15 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map.Entry;
import java.util.concurrent.CompletableFuture;
import org.apache.pulsar.transaction.buffer.TransactionBufferReader;
import org.apache.pulsar.transaction.buffer.TransactionEntry;
import org.apache.pulsar.transaction.buffer.exceptions.EndOfTransactionException;
import org.apache.pulsar.broker.transaction.buffer.TransactionBufferReader;
import org.apache.pulsar.broker.transaction.buffer.TransactionEntry;
import org.apache.pulsar.broker.transaction.buffer.exceptions.EndOfTransactionException;
import org.apache.pulsar.transaction.impl.common.TxnID;
/**
* A {@link TransactionBufferReader} implementation that reads entries from {@link InMemTransactionBuffer}.
*/
class InMemTransactionBufferReader implements TransactionBufferReader {
public class InMemTransactionBufferReader implements TransactionBufferReader {
private final TxnID txnId;
private final Iterator<Entry<Long, ByteBuf>> entries;
......@@ -41,10 +41,8 @@ class InMemTransactionBufferReader implements TransactionBufferReader {
// the iterator should hold the references to the entries
// so when the reader is closed, all the entries can be released.
InMemTransactionBufferReader(TxnID txnId,
Iterator<Entry<Long, ByteBuf>> entries,
long committedAtLedgerId,
long committedAtEntryId) {
public InMemTransactionBufferReader(TxnID txnId, Iterator<Entry<Long, ByteBuf>> entries, long committedAtLedgerId,
long committedAtEntryId) {
this.txnId = txnId;
this.entries = entries;
this.committedAtLedgerId = committedAtLedgerId;
......
......@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.pulsar.transaction.buffer.impl;
package org.apache.pulsar.broker.transaction.buffer.impl;
import io.netty.buffer.ByteBuf;
import java.util.List;
......@@ -38,11 +38,11 @@ import org.apache.pulsar.broker.service.persistent.PersistentTopic;
import org.apache.pulsar.common.api.proto.PulsarMarkers.MessageIdData;
import org.apache.pulsar.common.protocol.Markers;
import org.apache.pulsar.common.util.FutureUtil;
import org.apache.pulsar.transaction.buffer.TransactionBuffer;
import org.apache.pulsar.transaction.buffer.TransactionBufferReader;
import org.apache.pulsar.transaction.buffer.TransactionCursor;
import org.apache.pulsar.transaction.buffer.TransactionMeta;
import org.apache.pulsar.transaction.buffer.exceptions.TransactionNotSealedException;
import org.apache.pulsar.broker.transaction.buffer.TransactionBuffer;
import org.apache.pulsar.broker.transaction.buffer.TransactionBufferReader;
import org.apache.pulsar.broker.transaction.buffer.TransactionCursor;
import org.apache.pulsar.broker.transaction.buffer.TransactionMeta;
import org.apache.pulsar.broker.transaction.buffer.exceptions.TransactionNotSealedException;
import org.apache.pulsar.transaction.impl.common.TxnID;
/**
......
......@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.pulsar.transaction.buffer.impl;
package org.apache.pulsar.broker.transaction.buffer.impl;
import java.util.ArrayList;
import java.util.Comparator;
......@@ -34,10 +34,10 @@ import org.apache.bookkeeper.mledger.Position;
import org.apache.bookkeeper.mledger.impl.ManagedLedgerImpl;
import org.apache.bookkeeper.mledger.impl.PositionImpl;
import org.apache.pulsar.common.util.FutureUtil;
import org.apache.pulsar.transaction.buffer.TransactionBufferReader;
import org.apache.pulsar.transaction.buffer.TransactionEntry;
import org.apache.pulsar.transaction.buffer.TransactionMeta;
import org.apache.pulsar.transaction.buffer.exceptions.TransactionNotSealedException;
import org.apache.pulsar.broker.transaction.buffer.TransactionBufferReader;
import org.apache.pulsar.broker.transaction.buffer.TransactionEntry;
import org.apache.pulsar.broker.transaction.buffer.TransactionMeta;
import org.apache.pulsar.broker.transaction.buffer.exceptions.TransactionNotSealedException;
import org.apache.pulsar.transaction.impl.common.TxnStatus;
/**
......
......@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.pulsar.transaction.buffer.impl;
package org.apache.pulsar.broker.transaction.buffer.impl;
import java.util.HashSet;
import java.util.Map;
......@@ -26,10 +26,10 @@ import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import org.apache.bookkeeper.mledger.Position;
import org.apache.pulsar.transaction.buffer.TransactionCursor;
import org.apache.pulsar.transaction.buffer.TransactionMeta;
import org.apache.pulsar.transaction.buffer.exceptions.NoTxnsCommittedAtLedgerException;
import org.apache.pulsar.transaction.buffer.exceptions.TransactionNotFoundException;
import org.apache.pulsar.broker.transaction.buffer.TransactionCursor;
import org.apache.pulsar.broker.transaction.buffer.TransactionMeta;
import org.apache.pulsar.broker.transaction.buffer.exceptions.NoTxnsCommittedAtLedgerException;
import org.apache.pulsar.broker.transaction.buffer.exceptions.TransactionNotFoundException;
import org.apache.pulsar.transaction.impl.common.TxnID;
public class TransactionCursorImpl implements TransactionCursor {
......
......@@ -16,16 +16,16 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.pulsar.transaction.buffer.impl;
package org.apache.pulsar.broker.transaction.buffer.impl;
import io.netty.buffer.ByteBuf;
import org.apache.pulsar.transaction.buffer.TransactionEntry;
import org.apache.pulsar.broker.transaction.buffer.TransactionEntry;
import org.apache.pulsar.transaction.impl.common.TxnID;
/**
* A simple implementation of {@link TransactionEntry}.
*/
class TransactionEntryImpl implements TransactionEntry {
public class TransactionEntryImpl implements TransactionEntry {
private final TxnID txnId;
private final long sequenceId;
......@@ -33,7 +33,7 @@ class TransactionEntryImpl implements TransactionEntry {
private final long committedAtEntryId;
private final ByteBuf entryBuf;
TransactionEntryImpl(TxnID txnId,
public TransactionEntryImpl(TxnID txnId,
long sequenceId,
ByteBuf entryBuf,
long committedAtLedgerId,
......
......@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.pulsar.transaction.buffer.impl;
package org.apache.pulsar.broker.transaction.buffer.impl;
import com.google.common.annotations.VisibleForTesting;
import java.util.Map;
......@@ -24,10 +24,10 @@ import java.util.SortedMap;
import java.util.TreeMap;
import java.util.concurrent.CompletableFuture;
import org.apache.bookkeeper.mledger.Position;
import org.apache.pulsar.transaction.buffer.TransactionMeta;
import org.apache.pulsar.transaction.buffer.exceptions.EndOfTransactionException;
import org.apache.pulsar.transaction.buffer.exceptions.TransactionSealedException;
import org.apache.pulsar.transaction.buffer.exceptions.UnexpectedTxnStatusException;
import org.apache.pulsar.broker.transaction.buffer.TransactionMeta;
import org.apache.pulsar.broker.transaction.buffer.exceptions.EndOfTransactionException;
import org.apache.pulsar.broker.transaction.buffer.exceptions.TransactionSealedException;
import org.apache.pulsar.broker.transaction.buffer.exceptions.UnexpectedTxnStatusException;
import org.apache.pulsar.transaction.impl.common.TxnID;
import org.apache.pulsar.transaction.impl.common.TxnStatus;
......
......@@ -19,4 +19,4 @@
/**
* The implementation of a transaction buffer.
*/
package org.apache.pulsar.transaction.buffer.impl;
package org.apache.pulsar.broker.transaction.buffer.impl;
......@@ -19,4 +19,4 @@
/**
* Implementation of a transaction buffer.
*/
package org.apache.pulsar.transaction.buffer;
package org.apache.pulsar.broker.transaction.buffer;
......@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.pulsar.transaction.buffer.impl;
package org.apache.pulsar.broker.transaction.buffer;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.testng.Assert.assertEquals;
......@@ -33,8 +33,8 @@ import java.util.SortedMap;
import java.util.TreeMap;
import java.util.concurrent.CompletionException;
import java.util.concurrent.ExecutionException;
import org.apache.pulsar.transaction.buffer.TransactionEntry;
import org.apache.pulsar.transaction.buffer.exceptions.EndOfTransactionException;
import org.apache.pulsar.broker.transaction.buffer.exceptions.EndOfTransactionException;
import org.apache.pulsar.broker.transaction.buffer.impl.InMemTransactionBufferReader;
import org.apache.pulsar.transaction.impl.common.TxnID;
import org.testng.annotations.Test;
......
......@@ -16,15 +16,9 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.pulsar.transaction.buffer.impl;
package org.apache.pulsar.broker.transaction.buffer;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.mockito.ArgumentMatchers.endsWith;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;
import static org.testng.Assert.fail;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyObject;
import static org.mockito.Matchers.anyString;
......@@ -33,6 +27,10 @@ import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;
import static org.testng.Assert.fail;
import com.google.common.collect.Lists;
import com.google.common.util.concurrent.MoreExecutors;
......@@ -49,7 +47,6 @@ import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.stream.Collectors;
import lombok.Cleanup;
import org.apache.bookkeeper.client.PulsarMockBookKeeper;
import org.apache.bookkeeper.mledger.AsyncCallbacks.AddEntryCallback;
import org.apache.bookkeeper.mledger.AsyncCallbacks.CloseCallback;
......@@ -76,6 +73,8 @@ import org.apache.pulsar.broker.namespace.NamespaceService;
import org.apache.pulsar.broker.service.BrokerService;
import org.apache.pulsar.broker.service.BrokerServiceException;
import org.apache.pulsar.broker.service.ServerCnx;
import org.apache.pulsar.broker.transaction.buffer.impl.PersistentTransactionBuffer;
import org.apache.pulsar.broker.transaction.buffer.impl.TransactionMetaImpl;
import org.apache.pulsar.common.api.proto.PulsarApi.CommandSubscribe.InitialPosition;
import org.apache.pulsar.common.naming.NamespaceBundle;
import org.apache.pulsar.common.naming.TopicName;
......@@ -83,15 +82,11 @@ import org.apache.pulsar.common.policies.data.Policies;
import org.apache.pulsar.common.protocol.Commands;
import org.apache.pulsar.common.protocol.Markers;
import org.apache.pulsar.compaction.Compactor;
import org.apache.pulsar.transaction.buffer.TransactionBufferReader;
import org.apache.pulsar.transaction.buffer.TransactionEntry;
import org.apache.pulsar.transaction.buffer.TransactionMeta;
import org.apache.pulsar.transaction.buffer.exceptions.EndOfTransactionException;
import org.apache.pulsar.transaction.buffer.exceptions.NoTxnsCommittedAtLedgerException;
import org.apache.pulsar.transaction.buffer.exceptions.TransactionBufferException;
import org.apache.pulsar.transaction.buffer.exceptions.TransactionNotFoundException;
import org.apache.pulsar.transaction.buffer.exceptions.TransactionNotSealedException;
import org.apache.pulsar.transaction.buffer.exceptions.UnexpectedTxnStatusException;
import org.apache.pulsar.broker.transaction.buffer.exceptions.EndOfTransactionException;
import org.apache.pulsar.broker.transaction.buffer.exceptions.NoTxnsCommittedAtLedgerException;
import org.apache.pulsar.broker.transaction.buffer.exceptions.TransactionNotFoundException;
import org.apache.pulsar.broker.transaction.buffer.exceptions.TransactionNotSealedException;
import org.apache.pulsar.broker.transaction.buffer.exceptions.UnexpectedTxnStatusException;
import org.apache.pulsar.transaction.impl.common.TxnID;
import org.apache.pulsar.transaction.impl.common.TxnStatus;
import org.apache.pulsar.zookeeper.ZooKeeperCache;
......@@ -101,7 +96,6 @@ import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.MockZooKeeper;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.data.ACL;
import org.apache.zookeeper.txn.Txn;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
import org.slf4j.Logger;
......
......@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.pulsar.transaction.buffer.impl;
package org.apache.pulsar.broker.transaction.buffer;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.testng.Assert.assertEquals;
......@@ -28,14 +28,10 @@ import io.netty.buffer.ByteBufUtil;
import io.netty.buffer.Unpooled;
import java.util.List;
import java.util.concurrent.ExecutionException;
import org.apache.pulsar.transaction.buffer.TransactionBuffer;
import org.apache.pulsar.transaction.buffer.TransactionBufferProvider;
import org.apache.pulsar.transaction.buffer.TransactionBufferReader;
import org.apache.pulsar.transaction.buffer.TransactionEntry;
import org.apache.pulsar.transaction.buffer.TransactionMeta;
import org.apache.pulsar.transaction.buffer.exceptions.TransactionNotFoundException;
import org.apache.pulsar.transaction.buffer.exceptions.TransactionNotSealedException;
import org.apache.pulsar.transaction.buffer.exceptions.UnexpectedTxnStatusException;
import org.apache.pulsar.broker.transaction.buffer.impl.InMemTransactionBufferProvider;
import org.apache.pulsar.broker.transaction.buffer.exceptions.TransactionNotFoundException;
import org.apache.pulsar.broker.transaction.buffer.exceptions.TransactionNotSealedException;
import org.apache.pulsar.broker.transaction.buffer.exceptions.UnexpectedTxnStatusException;
import org.apache.pulsar.transaction.impl.common.TxnID;
import org.apache.pulsar.transaction.impl.common.TxnStatus;
import org.testng.annotations.AfterMethod;
......
......@@ -16,13 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.pulsar.transaction.buffer.impl;
package org.apache.pulsar.broker.transaction.buffer;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.testng.Assert.assertEquals;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import org.apache.pulsar.broker.transaction.buffer.impl.TransactionEntryImpl;
import org.apache.pulsar.transaction.impl.common.TxnID;
import org.testng.annotations.Test;
......
<?xml version="1.0"?>
<!--
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
regarding copyright ownership. The ASF licenses this file
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.
-->
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.pulsar</groupId>
<artifactId>pulsar-transaction-parent</artifactId>
<version>2.5.0-SNAPSHOT</version>
</parent>
<artifactId>pulsar-transaction-buffer</artifactId>
<name>Pulsar Transaction :: Buffer </name>
<dependencies>
<dependency>
<groupId>org.apache.pulsar</groupId>
<artifactId>pulsar-transaction-common</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.pulsar</groupId>
<artifactId>managed-ledger-original</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.pulsar</groupId>
<artifactId>pulsar-common</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.pulsar</groupId>
<artifactId>pulsar-broker</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>managed-ledger-original</artifactId>
<version>${project.parent.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>managed-ledger-original</artifactId>
<version>${project.parent.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.xolstice.maven.plugins</groupId>
<artifactId>protobuf-maven-plugin</artifactId>
<version>${protobuf-maven-plugin.version}</version>
<configuration>
<protocArtifact>com.google.protobuf:protoc:${protoc3.version}:exe:${os.detected.classifier}</protocArtifact>
<checkStaleness>true</checkStaleness>
</configuration>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>compile</goal>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
......@@ -33,7 +33,6 @@
<modules>
<module>common</module>
<module>buffer</module>
<module>coordinator</module>
</modules>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册