Preconditions:
- POSIX or Windows system
- Install Docker
- A GitHub repo that already builds on Travis
Postcondition:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package io.github.ncruces.utils; | |
import java.io.OutputStream; | |
import java.nio.ByteBuffer; | |
public final class ByteBufferOutputStream extends OutputStream { | |
private static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8; | |
private ByteBuffer buf; | |
public ByteBufferOutputStream() { buf = ByteBuffer.allocate(32); } |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/core/src/main/scala/org/apache/spark/storage/ShuffleBlockFetcherIterator.scala b/core/src/main/scala/org/apache/spark/storage/ShuffleBlockFetcherIterator.scala | |
index 94def4d31c..4f45e2d454 100644 | |
--- a/core/src/main/scala/org/apache/spark/storage/ShuffleBlockFetcherIterator.scala | |
+++ b/core/src/main/scala/org/apache/spark/storage/ShuffleBlockFetcherIterator.scala | |
@@ -100,7 +100,7 @@ final class ShuffleBlockFetcherIterator( | |
* A queue to hold our results. This turns the asynchronous model provided by | |
* [[org.apache.spark.network.BlockTransferService]] into a synchronous model (iterator). | |
*/ | |
- private[this] val results = new LinkedBlockingQueue[FetchResult] | |
+ private[this] val results = new LinkedBlockingQueue[(FetchResult, Long, Long)] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.io.File; | |
import java.io.FileOutputStream; | |
import java.io.IOException; | |
import java.nio.channels.FileLock; | |
// The class demonstrates how to get an exclusive file lock that prevents other threads and processes / JVMs from | |
// obtaining a lock on the same file. To do this, you need to synchronize a block on a file and acquire FileLock. See | |
// comments below for more details. Run this class in multiple JVMs and see each thread of each JVM acquires a lock in | |
// an orderly fasion. | |
public class FileLocking extends Thread |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class Client { | |
public static void main(String args[]) { | |
EqService eqService = new EqService(addr, "123456", 1, bufferNbr, false).init(); | |
CqService cqService = new CqService(eqService, eqService.getNativeHandle()).init(); | |
List<Connection> conList = new CopyOnWriteArrayList<Connection>(); | |
ConnectedCallback connectedCallback = new ConnectedCallback(conList, false); | |
ReadCallback readCallback = new ReadCallback(false, eqService); | |
ShutdownCallback shutdownCallback = new ShutdownCallback(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#ifndef _ASM_GENERIC_ERRNO_BASE_H | |
#define _ASM_GENERIC_ERRNO_BASE_H | |
#define EPERM 1 /* Operation not permitted */ | |
#define ENOENT 2 /* No such file or directory */ | |
#define ESRCH 3 /* No such process */ | |
#define EINTR 4 /* Interrupted system call */ | |
#define EIO 5 /* I/O error */ | |
#define ENXIO 6 /* No such device or address */ | |
#define E2BIG 7 /* Argument list too long */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package example; | |
import io.netty.channel.ChannelHandler; | |
import io.netty.channel.ChannelInitializer; | |
import io.netty.channel.socket.SocketChannel; | |
import io.netty.handler.codec.LengthFieldBasedFrameDecoder; | |
import io.netty.handler.codec.LengthFieldPrepender; | |
import io.netty.handler.codec.string.StringDecoder; | |
import io.netty.handler.codec.string.StringEncoder; | |
import io.netty.util.CharsetUtil; |
As configured in my dotfiles.
start new:
tmux
start new with session name:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <rdma/fabric.h> | |
#include <rdma/fabric.h> | |
#include <rdma/fi_endpoint.h> | |
#include <rdma/fi_cm.h> | |
#include <rdma/fi_errno.h> | |
#include <rdma/fi_rma.h> | |
#include <pthread.h> | |
#include <stdio.h> | |
#include <stdlib.h> |