This is an automated email from the ASF dual-hosted git repository.
maobaolong pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-uniffle.git
The following commit(s) were added to refs/heads/master by this push:
new 284d139ca [MINOR] feat(server): Introduce LocalFileBlackHoleWriter for
test flush ceiling performance (#2321)
284d139ca is described below
commit 284d139ca5db6bf7b2aa155bf612755c02914e0b
Author: maobaolong <[email protected]>
AuthorDate: Tue Jan 7 14:21:46 2025 +0800
[MINOR] feat(server): Introduce LocalFileBlackHoleWriter for test flush
ceiling performance (#2321)
### What changes were proposed in this pull request?
Introduce a new implementation of FileWriter, named
`LocalFileBlackHoleWriter`.
### Why are the changes needed?
Drop all the data, specify `LocalFileBlackHoleWriter` for test the ceiling
performance of flush event.
### Does this PR introduce _any_ user-facing change?
No.
### How was this patch tested?
Tested on our pressure cluster.
---
.../handler/impl/LocalFileBlackHoleWriter.java | 57 ++++++++++++++++++++++
1 file changed, 57 insertions(+)
diff --git
a/storage/src/main/java/org/apache/uniffle/storage/handler/impl/LocalFileBlackHoleWriter.java
b/storage/src/main/java/org/apache/uniffle/storage/handler/impl/LocalFileBlackHoleWriter.java
new file mode 100644
index 000000000..ba1f07c80
--- /dev/null
+++
b/storage/src/main/java/org/apache/uniffle/storage/handler/impl/LocalFileBlackHoleWriter.java
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+package org.apache.uniffle.storage.handler.impl;
+
+import java.io.File;
+import java.io.IOException;
+
+import io.netty.buffer.ByteBuf;
+
+import org.apache.uniffle.storage.api.FileWriter;
+import org.apache.uniffle.storage.common.FileBasedShuffleSegment;
+
+/** A shuffle writer that write data into black hole for performance test
purpose only. */
+public class LocalFileBlackHoleWriter implements FileWriter {
+
+ private long nextOffset;
+
+ public LocalFileBlackHoleWriter(File file, int bufferSize) {}
+
+ @Override
+ public void writeData(byte[] data) throws IOException {
+ nextOffset = nextOffset + data.length;
+ }
+
+ @Override
+ public void writeData(ByteBuf buf) throws IOException {
+ if (buf != null && buf.readableBytes() > 0) {
+ nextOffset = nextOffset + buf.readableBytes();
+ }
+ }
+
+ @Override
+ public void writeIndex(FileBasedShuffleSegment segment) throws IOException {}
+
+ @Override
+ public long nextOffset() {
+ return nextOffset;
+ }
+
+ @Override
+ public synchronized void close() throws IOException {}
+}