Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Kwan的解忧杂货铺@新空间代码工作室
Rocketmq
提交
415b38bd
R
Rocketmq
项目概览
Kwan的解忧杂货铺@新空间代码工作室
/
Rocketmq
与 Fork 源项目一致
Fork自
Apache RocketMQ / Rocketmq
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
Rocketmq
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
415b38bd
编写于
12月 11, 2018
作者:
D
dongeforever
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Do not return flush_slave_timeout to client
上级
235ac796
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
10 addition
and
6 deletion
+10
-6
store/src/main/java/org/apache/rocketmq/store/dledger/DLedgerCommitLog.java
...a/org/apache/rocketmq/store/dledger/DLedgerCommitLog.java
+7
-5
store/src/test/java/org/apache/rocketmq/store/dledger/DLedgerCommitlogTest.java
...g/apache/rocketmq/store/dledger/DLedgerCommitlogTest.java
+1
-1
store/src/test/java/org/apache/rocketmq/store/dledger/MessageStoreTestBase.java
...g/apache/rocketmq/store/dledger/MessageStoreTestBase.java
+2
-0
未找到文件。
store/src/main/java/org/apache/rocketmq/store/dledger/DLedgerCommitLog.java
浏览文件 @
415b38bd
...
...
@@ -27,6 +27,7 @@ import io.openmessaging.storage.dledger.store.file.DLedgerMmapFileStore;
import
io.openmessaging.storage.dledger.store.file.MmapFile
;
import
io.openmessaging.storage.dledger.store.file.MmapFileList
;
import
io.openmessaging.storage.dledger.store.file.SelectMmapBufferResult
;
import
io.openmessaging.storage.dledger.utils.DLedgerUtils
;
import
java.nio.ByteBuffer
;
import
java.util.HashMap
;
import
java.util.concurrent.TimeUnit
;
...
...
@@ -190,7 +191,7 @@ public class DLedgerCommitLog extends CommitLog {
long
liveMaxTimestamp
=
mappedFile
.
getLastModifiedTimestamp
()
+
expiredTime
;
if
(
System
.
currentTimeMillis
()
>=
liveMaxTimestamp
||
cleanImmediately
)
{
while
(!
mappedFile
.
destroy
(
10
*
1000
))
{
io
.
openmessaging
.
storage
.
dledger
.
utils
.
UtilAll
.
sleep
(
1000
);
DLedgerUtils
.
sleep
(
1000
);
}
mappedFileQueue
.
getMappedFiles
().
remove
(
mappedFile
);
}
...
...
@@ -397,7 +398,6 @@ public class DLedgerCommitLog extends CommitLog {
}
// Back to Results
PutMessageStatus
putMessageStatus
=
null
;
AppendMessageResult
appendResult
;
AppendFuture
<
AppendEntryResponse
>
dledgerFuture
;
EncodeResult
encodeResult
;
...
...
@@ -449,6 +449,7 @@ public class DLedgerCommitLog extends CommitLog {
log
.
warn
(
"[NOTIFYME]putMessage in lock cost time(ms)={}, bodyLength={} AppendMessageResult={}"
,
eclipseTimeInLock
,
msg
.
getBody
().
length
,
appendResult
);
}
PutMessageStatus
putMessageStatus
=
PutMessageStatus
.
UNKNOWN_ERROR
;
try
{
AppendEntryResponse
appendEntryResponse
=
dledgerFuture
.
get
(
3
,
TimeUnit
.
SECONDS
);
switch
(
DLedgerResponseCode
.
valueOf
(
appendEntryResponse
.
getCode
()))
{
...
...
@@ -462,14 +463,15 @@ public class DLedgerCommitLog extends CommitLog {
putMessageStatus
=
PutMessageStatus
.
SERVICE_NOT_AVAILABLE
;
break
;
case
WAIT_QUORUM_ACK_TIMEOUT:
putMessageStatus
=
PutMessageStatus
.
FLUSH_SLAVE_TIMEOUT
;
//Do not return flush_slave_timeout to the client, for the ons client will ignore it.
putMessageStatus
=
PutMessageStatus
.
OS_PAGECACHE_BUSY
;
break
;
case
LEADER_PENDING_FULL:
putMessageStatus
=
PutMessageStatus
.
OS_PAGECACHE_BUSY
;
break
;
}
}
catch
(
Throwable
ignored
)
{
putMessageStatus
=
PutMessageStatus
.
FLUSH_SLAVE_TIMEOUT
;
}
catch
(
Throwable
t
)
{
log
.
error
(
"Failed to get dledger append result"
,
t
)
;
}
PutMessageResult
putMessageResult
=
new
PutMessageResult
(
putMessageStatus
,
appendResult
);
...
...
store/src/test/java/org/apache/rocketmq/store/dledger/DLedgerCommitlogTest.java
浏览文件 @
415b38bd
...
...
@@ -111,7 +111,7 @@ public class DLedgerCommitlogTest extends MessageStoreTestBase {
msgInner
.
setTopic
(
topic
);
msgInner
.
setQueueId
(
0
);
PutMessageResult
putMessageResult
=
leaderStore
.
putMessage
(
msgInner
);
Assert
.
assertEquals
(
PutMessageStatus
.
FLUSH_SLAVE_TIMEOUT
,
putMessageResult
.
getPutMessageStatus
());
Assert
.
assertEquals
(
PutMessageStatus
.
OS_PAGECACHE_BUSY
,
putMessageResult
.
getPutMessageStatus
());
Thread
.
sleep
(
1000
);
...
...
store/src/test/java/org/apache/rocketmq/store/dledger/MessageStoreTestBase.java
浏览文件 @
415b38bd
...
...
@@ -21,6 +21,8 @@ import org.junit.Assert;
public
class
MessageStoreTestBase
extends
StoreTestBase
{
protected
DefaultMessageStore
createDledgerMessageStore
(
String
base
,
String
group
,
String
selfId
,
String
peers
,
String
leaderId
,
boolean
createAbort
)
throws
Exception
{
System
.
setProperty
(
"dledger.disk.ratio.check"
,
"0.95"
);
System
.
setProperty
(
"dledger.disk.ratio.clean"
,
"0.95"
);
baseDirs
.
add
(
base
);
MessageStoreConfig
storeConfig
=
new
MessageStoreConfig
();
storeConfig
.
setMapedFileSizeCommitLog
(
1024
*
100
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录