Skip to content

Commit

Permalink
Merge pull request #84 from QNJR-GROUP/1.x
Browse files Browse the repository at this point in the history
bugfix: error loading transaction log when using RDB transaction log
  • Loading branch information
skyesx authored Sep 27, 2018
2 parents d14853e + 29d99e8 commit 758432f
Show file tree
Hide file tree
Showing 13 changed files with 19 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,10 @@ private int getTransactionStatus(String appId, String busCode ,String innerMetho
}
}

if(transactionStatus == null) {
throw new RuntimeException("can not determine the transaction status of " + appId + " " + busCode + " " + innerMethod);
}

return transactionStatus;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ public LogCollection(String appId, String busCode, long trxId,
this.busCode = busCode;
this.trxId = trxId;
this.orderedContents = orderedContents;
this.createTime = createTime;
}

/**
Expand Down
2 changes: 1 addition & 1 deletion easytrans-demo/interface-call/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<revision>1.1.0</revision>
<revision>1.1.1</revision>
</properties>


Expand Down
2 changes: 1 addition & 1 deletion easytrans-demo/rpc-dubbo/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<revision>1.1.0</revision>
<revision>1.1.1</revision>
</properties>


Expand Down
2 changes: 1 addition & 1 deletion easytrans-demo/sagatcc/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<revision>1.1.0</revision>
<revision>1.1.1</revision>
</properties>


Expand Down
2 changes: 1 addition & 1 deletion easytrans-demo/tcc-and-msg/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<revision>1.1.0</revision>
<revision>1.1.1</revision>
</properties>


Expand Down
2 changes: 1 addition & 1 deletion easytrans-demo/tcc-only/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<revision>1.1.0</revision>
<revision>1.1.1</revision>
</properties>


Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.yiqiniu.easytrans.log.impl.database;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;

Expand Down Expand Up @@ -91,7 +92,7 @@ public List<LogCollection> getUnfinishedLogs(LogCollection locationId,
List<Content> currentContentList = new ArrayList<Content>();
byte[] currentId = null;
for(DataBaseTransactionLogDetail detailDo:query){
if(!detailDo.getTransLogId().equals(currentId)){
if(!Arrays.equals(detailDo.getTransLogId(), currentId)){
addToResult(result, currentDoList, currentContentList);
currentContentList.clear();
currentDoList.clear();
Expand Down Expand Up @@ -121,6 +122,5 @@ private void addToResult(List<LogCollection> result,
new ArrayList<Content>(currentContentList), first.getCreateTime()));
}
}



}
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ public EasyTransMsgPublishResult publish(String topic, String tag, String key, M
public int calcMessagePartition(String kafkaTopic, TransactionId trxId) {
List<PartitionInfo> partitionMetaData = kafkaProducer.partitionsFor(kafkaTopic);
int partitionSize = partitionMetaData.size();
int partition = Math.abs(trxId.hashCode()) % partitionSize;
int partition = Math.abs(trxId.hashCode() % partitionSize);
return partition;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,8 @@ public EasyTransResult invoke(EasyTransFilterChain filterChain, Map<String, Obje
if(result.getException() != null){
throw result.getException();
}
} else {
throw new RuntimeException("result is null!");
}

return result.getValue();
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<revision>1.1.0</revision>
<revision>1.1.1</revision>
</properties>


Expand Down
2 changes: 1 addition & 1 deletion readme-en.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ Business code can introduce EasyTransaction by maven
<dependency>
<groupId>com.yiqiniu.easytrans</groupId>
<artifactId>easytrans-starter</artifactId>
<version>1.1.0</version>
<version>1.1.1</version>
</dependency>

This Starter contains several default implement, included: RDBS based distributed transaction log,Netflix-ribbon based http RPC implement,KAFKA based queue,if you want to replace it ,just exclude it.
Expand Down
2 changes: 1 addition & 1 deletion readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@
<dependency>
<groupId>com.yiqiniu.easytrans</groupId>
<artifactId>easytrans-starter</artifactId>
<version>1.1.0</version>
<version>1.1.1</version>
</dependency>

Starter里包含了若干默认的组件实现:基于mysql的分布式事务日志存储,基于ribbon-rest的RPC实现,基于KAFKA的消息队列,若不需要或者要替换,可以EXCLUDE掉
Expand Down

0 comments on commit 758432f

Please sign in to comment.