This is an automated email from the ASF dual-hosted git repository.
szetszwo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ratis.git
The following commit(s) were added to refs/heads/master by this push:
new f773ac4f RATIS-1634. Close SegmentedRaftLogReader if init failed.
(#693)
f773ac4f is described below
commit f773ac4f0dfe477befd86b2ef2a9606f4301996a
Author: Riguz Lee <[email protected]>
AuthorDate: Sat Jul 23 01:24:03 2022 +0800
RATIS-1634. Close SegmentedRaftLogReader if init failed. (#693)
---
.../raftlog/segmented/SegmentedRaftLogInputStream.java | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git
a/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogInputStream.java
b/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogInputStream.java
index c4d9e8d2..e445b1ab 100644
---
a/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogInputStream.java
+++
b/ratis-server/src/main/java/org/apache/ratis/server/raftlog/segmented/SegmentedRaftLogInputStream.java
@@ -90,13 +90,16 @@ public class SegmentedRaftLogInputStream implements
Closeable {
private void init() throws IOException {
state.open();
+ boolean initSuccess = false;
try {
- final SegmentedRaftLogReader r = new SegmentedRaftLogReader(logFile,
raftLogMetrics);
- if (r.verifyHeader()) {
- reader = r;
- }
+ reader = new SegmentedRaftLogReader(logFile, raftLogMetrics);
+ initSuccess = reader.verifyHeader();
} finally {
- if (reader == null) {
+ if (!initSuccess) {
+ if(reader != null) {
+ reader.close();
+ reader = null;
+ }
state.close();
}
}