Skip to content

Instantly share code, notes, and snippets.

View nsivabalan's full-sized avatar

Sivabalan Narayanan nsivabalan

View GitHub Profile
/**
* Interface for client side UberInterceptor at mobile networking layer
* @param <ReqT> request object of generic type.
* @param <RespT> response object of generic type.
*/
public abstract class UberInterceptor<ReqT, RespT> {
/**
* Fetch MethodInfo for the call in flux.
* @param <T> type of MethodInfo
* @return the instance of MethodInfo
public interface UberNetworkRequestStatus {
public int getResponseCode();
public boolean isSuccess() ;
public Throwable getThrowable();
}
public interface UberCallHeaders {
String getHeaderValue(String key);
void setHeader(String key, String value);
Set<String> getAllHeaderKeys();
Map<String, String> getHeadersAsMap();
public class UberCallOptions {
private boolean isRetryEnabled = false;
private int retryCount = 0;
private long timeout = 30000;
private String callType = "GRPC";
.
.
.
diff --git a/hudi-spark/src/main/java/org/apache/hudi/keygen/GlobalDeleteKeyGenerator.java b/hudi-spark/src/main/java/org/apache/hudi/keygen/GlobalDeleteKeyGenerator.java
index 315c2659..a699e0c8 100644
--- a/hudi-spark/src/main/java/org/apache/hudi/keygen/GlobalDeleteKeyGenerator.java
+++ b/hudi-spark/src/main/java/org/apache/hudi/keygen/GlobalDeleteKeyGenerator.java
@@ -25,6 +25,7 @@ import org.apache.hudi.common.model.HoodieKey;
import org.apache.hudi.exception.HoodieKeyException;
import org.apache.avro.generic.GenericRecord;
+import org.apache.spark.sql.Row;
public class UberCallOptions {
private boolean isRetryEnabled = false;
private RetryPolicy retryPolicy = null;
private long timeout = 30000;
public void setRetryEnabled() {
isRetryEnabled = true;
}
@nsivabalan
nsivabalan / Hoodie Simple Index
Last active March 6, 2020 01:22
Simple Index using spark joins
// HoodieSparkJoinIndex.java
/**
* Find <HoodieKey, HoodieRecordLocation> for all incoming HoodieKeys
*/
@VisibleForTesting
JavaPairRDD<HoodieKey, HoodieRecordLocation> findMatchingFilesForRecordKeysLocal(JavaSparkContext jsc,
List<Tuple2<String, String>> partitionToFileIndexInfo,
JavaPairRDD<String, String> partitionRecordKeyPairRDD, HoodieTable hoodieTable) {
// Step 1: Create JavaPairRDD< Tuple2<PartitionPath, RecordKey>, Optional<HoodieRecordLocation> > from input with Optional<HoodieRecordLocation> as Empty.
import com.github.ambry.clustermap.PartitionId;
import com.github.ambry.config.StoreConfig;
import com.github.ambry.store.BlobStore;
import com.github.ambry.utils.Time;
import java.util.Map;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ThreadLocalRandom;
import java.util.concurrent.TimeUnit;
@nsivabalan
nsivabalan / Scrubber.java
Created October 13, 2016 06:19
Interface for Scrubber
/**
* Class used for scrubbing the log for any inconsistencies
*/
public class Scrubber {
/**
* Used to start scrubbing the log for consistency checks
*/
public void start();
@nsivabalan
nsivabalan / Lucky Strings
Created December 28, 2013 19:00
Lucky Strings : Lucky numbers are those numbers which contain only "4" and/or "5". For example 4, 5, 44, 54,55,444 are lucky numbers while 457, 987 ,154 are not. Lucky number sequence is one in which all lucky numbers exist in increasing order for example 4,5,44,45,54,55,444,445,454,455... Now we concatenate all the lucky numbers (in ascending o…
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
public class LuckyStrings {
public static void main(String args[]) throws NumberFormatException, IOException
{