Class DeltaJoinCache


  • @NotThreadSafe
    @VisibleForTesting
    public class DeltaJoinCache
    extends Object
    Cache for both sides in delta join.

    Note: This cache is not thread-safe although its inner Cache is thread-safe.

    • Constructor Detail

      • DeltaJoinCache

        public DeltaJoinCache​(long leftCacheMaxSize,
                              long rightCacheMaxSize)
    • Method Detail

      • registerMetrics

        public void registerMetrics​(org.apache.flink.metrics.MetricGroup metricGroup)
      • getData

        @Nullable
        public LinkedHashMap<org.apache.flink.table.data.RowData,​Object> getData​(org.apache.flink.table.data.RowData key,
                                                                                       boolean requestRightCache)
      • buildCache

        public void buildCache​(org.apache.flink.table.data.RowData key,
                               LinkedHashMap<org.apache.flink.table.data.RowData,​Object> ukDataMap,
                               boolean buildRightCache)
      • upsertCache

        public void upsertCache​(org.apache.flink.table.data.RowData key,
                                org.apache.flink.table.data.RowData uk,
                                Object data,
                                boolean upsertRightCache)
      • requestLeftCache

        public void requestLeftCache()
      • requestRightCache

        public void requestRightCache()
      • hitLeftCache

        public void hitLeftCache()
      • hitRightCache

        public void hitRightCache()
      • getLeftCache

        @VisibleForTesting
        public org.apache.flink.shaded.guava33.com.google.common.cache.Cache<org.apache.flink.table.data.RowData,​LinkedHashMap<org.apache.flink.table.data.RowData,​Object>> getLeftCache()
      • getRightCache

        @VisibleForTesting
        public org.apache.flink.shaded.guava33.com.google.common.cache.Cache<org.apache.flink.table.data.RowData,​LinkedHashMap<org.apache.flink.table.data.RowData,​Object>> getRightCache()
      • getLeftTotalSize

        @VisibleForTesting
        public AtomicLong getLeftTotalSize()
      • getRightTotalSize

        @VisibleForTesting
        public AtomicLong getRightTotalSize()
      • getLeftHitCount

        @VisibleForTesting
        public AtomicLong getLeftHitCount()
      • getLeftRequestCount

        @VisibleForTesting
        public AtomicLong getLeftRequestCount()
      • getRightHitCount

        @VisibleForTesting
        public AtomicLong getRightHitCount()
      • getRightRequestCount

        @VisibleForTesting
        public AtomicLong getRightRequestCount()