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 {}
+}

Reply via email to