arrow-left

All pages
gitbookPowered by GitBook
1 of 1

Loading...

0.12.0

hashtag
Multi-Stage Query Engine

hashtag
New join semantics support

  • Left join ()

  • In-equi join ()

  • Full join ()

  • Right join ()

  • Semi join ()

  • Using keyword ()

hashtag
New sql semantics support:

  • Having ()

  • Order by ()

  • In/NotIn clause ()

hashtag
Performance enhancement

  • Thread safe query planning ()

  • Partial query execution and round robin scheduling ()

  • Improve data table serde ()

hashtag
Major updates

  • Force commit consuming segments by in

  • add a freshness based consumption status checker by in

  • Add metrics to track controller segment download and upload requests in progress by in

hashtag
Other features/changes

  • Show most recent scheduling errors by in

  • Do not use aggregation result for distinct query in IntermediateResultsBlock by in

  • Emit metrics for ratio of actual consumption rate to rate limit in real-time tables by in

hashtag
UI Update & Improvement

  • Allow hiding query console tab based on cluster config ()

  • Allow hiding pinot broker swagger UI by config ()

  • Add UI to show fine-grained minion task progress ()

hashtag
Library version upgrade

  • Upgrade h3 lib from 3.7.2 to 4.0.0 to lower glibc requirement ()

  • Upgrade ZK version to 3.6.3 ()

  • Upgrade snakeyaml from 1.30 to 1.33 ()

hashtag
BugFixes

  • Fix bug with logging request headers by in

  • Fix a UT that only shows up on host with more cores by in

  • Fix message count by in

Cast ()

  • LIke/Rexlike ()

  • Range predicate ()

  • Adding endpoint to download local log files for each component by in

  • [Feature] Add an option to search input files recursively in ingestion job. The default is set to true to be backward compatible. by in

  • add query cancel APIs on controller backed by those on brokers by in

  • Add Spark Job Launcher tool by in

  • Enable Consistent Data Push for Standalone Segment Push Job Runners by in

  • Allow server to directly return the final aggregation result by in

  • TierBasedSegmentDirectoryLoader to keep segments in multi-datadir by in

  • Adaptive Server Selection by in

  • [Feature] Support IsDistinctFrom and IsNotDistinctFrom by in

  • Allow ingestion of errored records with incorrect datatype by in

  • Allow setting custom time boundary for hybrid table queries by in

  • skip late cron job with max allowed delay by in

  • Do not allow implicit cast for BOOLEAN and TIMESTAMP by in

  • Add missing properties in CSV plugin by in

  • set MDC so that one can route minion task logs to separate files cleanly by in

  • Add a new API to fix segment date time in metadata by in

  • Update get bytes to return raw bytes of string and support getBytesMV by in

  • Exposing consumer's record lag in /consumingSegmentsInfo by in

  • Do not create dictionary for high-cardinality columns by in

  • get task runtime configs tracked in Helix by in

  • Add more options to json index by in

  • add SegmentTierAssigner and refine restful APIs to get segment tier info by in

  • Add segment level debug API by in

  • Add record availability lag for Kafka connector by in

  • notify servers that need to move segments to new tiers via SegmentReloadMessage by in

  • Allow to configure multi-datadirs as instance configs and a Quickstart example about them by in

  • Customize stopword for Lucene Index by in

  • Add memory optimized dimension table by in

  • ADLS file system upgrade by in

  • Added Delete Schema/Table pinot admin commands by in

  • Adding new ADLSPinotFS auth type: DEFAULT by in

  • Add rate limit to Kinesis requests by in

  • Adding configs for zk client timeout by in

  • add metrics entry offlineTableCount by in

  • refine query cancel resp msg by in

  • add @ManualAuthorization annotation for non-standard endpoints by in

  • Optimize ser/de to avoid using output stream by in

  • Add Support for Covariance Function by in

  • Throw an exception when MV columns are present in the order-by expression list in selection order-by only queries by in

  • Improve server query cancellation and timeout checking during execution by in

  • Add capabilities to ingest from another stream without disabling the real-time table by in

  • Add minMaxInvalid flag to avoid unnecessary needPreprocess by in

  • Add array cardinality function by in

  • TierBasedSegmentDirectoryLoader to keep segments in multi-datadir by in

  • Add support for custom null values in CSV record reader by in

  • Infer parquet reader type based on file metadata by in

  • Add Support for Cast Function on MV Columns by in

  • Allow ingestion of errored records with incorrect datatype by in

  • [Feature] Not Operator Transformation by in

  • Handle null string in CSV decoder by in

  • [Feature] Not scalar function by in

  • Add support for EXTRACT syntax and converts it to appropriate Pinot expression by in

  • Add support for Auth in controller requests in java query client by in

  • delete all related minion task metadata when deleting a table by in

  • BloomFilterRule should only recommend for supported column type by in

  • Support all the types in ParquetNativeRecordReader by in

  • Improve segment name check in metadata push by in

  • Allow expression transformer cotinue on error by in

  • skip late cron job with max allowed delay by in

  • Enhance and filter predicate evaluation efficiency by in

  • Deprecate instanceId Config For Broker/Minion Specific Configs by in

  • Optimize combine operator to fully utilize threads by in

  • Terminate the query after plan generation if timeout by in

  • [Feature] Support IsDistinctFrom and IsNotDistinctFrom by in

  • [Feature] Support Coalesce for Column Names by in

  • Disable logging for interrupted exceptions in kinesis by in

  • Benchmark thread cpu time by in

  • Use ISODateTimeFormat as default for SIMPLE_DATE_FORMAT by in

  • Extract the common logic for upsert metadata manager by in

  • Make minion task metadata manager methods more generic by in

  • Always pass clientId to kafka's consumer properties by in

  • Adaptive Server Selection by in

  • Refine IndexHandler methods a bit to make them reentrant by in

  • use MinionEventObserver to track finer grained task progress status on worker by in

  • Allow spaces in input file paths by in

  • Add support for gracefully handling the errors while transformations by in

  • Cache Deleted Segment Names in Server to Avoid SegmentMissingError by in

  • Handle Invalid timestamps by in

  • refine minion worker event observer to track finer grained progress for tasks by in

  • spark-connector should use v2/brokers endpoint by in

  • Remove netty server query support from presto-pinot-driver to remove pinot-core and pinot-segment-local dependencies by in

  • Adaptive Server Selection: Address pending review comments by in

  • track progress from within segment processor framework by in

  • Decouple ser/de from DataTable by in

  • collect file info like mtime, length while listing files for free by in

  • Extract record keys, headers and metadata from Stream sources by in

  • [pinot-spark-connector] Bump spark connector max inbound message size by in

  • refine the minion task progress api a bit by in

  • add parsing for AT TIME ZONE by in

  • Eliminate explosion of metrics due to gapfill queries by in

  • ForwardIndexHandler: Change compressionType during segmentReload by in

  • Introduce Segment AssignmentStrategy Interface by in

  • Add query interruption flag check to broker groupby reduction by in

  • adding optional client payload by in

  • [feature] distinct from scalar functions by in

  • Check data table version on server only for null handling by in

  • Add docId and column name to segment read exception by in

  • Sort scanning based operators by cardinality in AndDocIdSet evaluation by in

  • Do not fail CI when codecov upload fails by in

  • [Upsert] persist validDocsIndex snapshot for Pinot upsert optimization by in

  • broker filter by in

  • [feature] coalesce scalar by in

  • Allow setting custom time boundary for hybrid table queries by in

  • [GHA] add cache timeout by in

  • Optimize PinotHelixResourceManager.hasTable() by in

  • Include exception when upsert metadata manager cannot be created by in

  • allow to config task expire time by in

  • expose task finish time via debug API by in

  • Remove the wrong warning log in KafkaPartitionLevelConsumer by in

  • starting http server for minion worker conditionally by in

  • Make StreamMessage generic and a bug fix by in

  • Improve primary key serialization performance by in

  • [Upsert] Skip removing upsert metadata when shutting down the server by in

  • add array element at function by in

  • Handle the case when enableNullHandling is true and an aggregation function is used w/ a column that has an empty null bitmap by in

  • Support segment storage format without forward index by in

  • Adding SegmentNameGenerator type inference if not explicitly set in config by in

  • add version information to JMX metrics & component logs by in

  • remove unused RecordTransform/RecordFilter classes by in

  • Support rewriting forward index upon changing compression type for existing raw MV column by in

  • Support Avro's Fixed data type by in

  • [feature] [kubernetes] add loadBalancerSourceRanges to service-external.yaml for controller and broker by in

  • Limit up to 10 unavailable segments to be printed in the query exception by in

  • remove more unused filter code by in

  • Do not cache record reader in segment by in

  • make first part of user agent header configurable by in

  • optimize order by sorted ASC, unsorted and order by DESC cases by in

  • Enhance cluster config update API to handle non-string values properly by in

  • Reverts recommender REST API back to PUT (reverts PR ) by in

  • Remove invalid pruner names from server config by in

  • Using usageHelp instead of deprecated help in picocli commands by in

  • Handle unique query id on server by in

  • stateless group marker missing several by in

  • Support reloading consuming segment using force commit by in

  • Improve star-tree to use star-node when the predicate matches all the non-star nodes by in

  • add FetchPlanner interface to decide what column index to prefetch by in

  • Improve star-tree traversal using ArrayDeque by in

  • Handle errors in combine operator by in

  • return different error code if old version is not on master by in

  • Support creating dictionary at runtime for an existing column by in

  • check mutable segment explicitly instead of checking existence of indexDir by in

  • Remove leftover file before downloading segmentTar by in

  • add index key and size map to segment metadata by in

  • Use ideal state as source of truth for segment existence by in

  • Close Filesystem on exit with Minion Tasks by in

  • render the tables list even as the table sizes are loading by in

  • Add Support for IP Address Function by in

  • bubble up error messages from broker by in

  • Add support to disable the forward index for existing columns by in

  • show table metadata info in aggregate index size form by in

  • Preprocess immutable segments from REALTIME table conditionally when loading them by in

  • revert default timeout nano change in QueryConfig by in

  • AdaptiveServerSelection: Update stats for servers that have not responded by in

  • Add null value index for default column by in

  • [MergeRollupTask] include partition info into segment name by in

  • Adding a consumer lag as metric via a periodic task in controller by in

  • Deserialize Hyperloglog objects more optimally by in

  • Download offline segments from peers by in

  • Thread Level Usage Accounting and Query Killing on Server by in

  • Add max merger and min mergers for partial upsert by in

  • added pinot helm 0.2.6 with secure version pinot 0.11.0 by in

  • Combine the read access for replication config by in

  • add v1 ingress in helm chart by in

  • Optimize AdaptiveServerSelection for replicaGroup based routing by in

  • Do not sort the instances in InstancePartitions by in

  • Merge new columns in existing record with default merge strategy by in

  • Support disabling dictionary at runtime for an existing column by in

  • support BOOL_AND and BOOL_OR aggregate functions by in

  • Use Pulsar AdminClient to delete unused subscriptions by in

  • add table sort function for table size by in

  • In Kafka consumer, seek offset only when needed by in

  • fallback if no broker found for the specified table name by in

  • Allow liveness check during server shutting down by in

  • Allow segment upload via Metadata in MergeRollup Minion task by in

  • Add back the Helix workaround for missing IS change by in

  • Allow uploading real-time segments via CLI by in

  • Add capability to update and delete table config via CLI by in

  • default to TAR if push mode is not set by in

  • load startree index via segment reader interface by in

  • Allow collections for MV transform functions by in

  • Construct new IndexLoadingConfig when loading completed real-time segments by in

  • Make GET /tableConfigs backwards compatible in case schema does not match raw table name by in

  • feat: add compressed file support for ORCRecordReader by in

  • Add Variance and Standard Deviation Aggregation Functions by in

  • enable MergeRollupTask on real-time tables by in

  • Update cardinality when converting raw column to dict based by in

  • Add back auth token for UploadSegmentCommand by in

  • Improving gz support for avro record readers by in

  • Default column handling of noForwardIndex and regeneration of forward index on reload path by in

  • [Feature] Support coalesce literal by in

  • Ability to initialize S3PinotFs with serverSideEncryption properties when passing client directly by in

  • handle pending minion tasks properly when getting the task progress status by in

  • allow gauge stored in metric registry to be updated by in

  • support case-insensitive query options in SET syntax by in

  • pin versions-maven-plugin to 2.13.0 by in

  • Pulsar Connection handler should not spin up a consumer / reader by in

  • Handle in-memory segment metadata for index checking by in

  • Support the cross-account access using IAM role for S3 PinotFS by in

  • report minion task metadata last update time as metric by in

  • support SKEWNESS and KURTOSIS aggregates by in

  • emit minion task generation time and error metrics by in

  • Use the same default time value for all replicas by in

  • Reduce the number of segments to wait for convergence when rebalancing by in

  • Add UI to track segment reload progress ()

  • Show minion task runtime config details in UI ()

  • Redefine the segment status ()

  • Show an option to reload the segments during edit schema ()

  • Load schema UI async ()

  • Fix blank screen when redirect to unknown app route ()

  • Upgrade RoaringBitmap from 0.9.28 to 0.9.35 ()

  • Upgrade spotless-maven-plugin from 2.9.0 to 2.28.0 ()

  • Upgrade decode-uri-component from 0.2.0 to 0.2.2 ()

  • Fix issue with auth AccessType in Schema REST endpoints by in

  • Fix PerfBenchmarkRunner to skip the tmp dir by in

  • Fix thrift deserializer thread safety issue by in

  • Fix transformation to string for BOOLEAN and TIMESTAMP by in

  • [hotfix] Add VARBINARY column to switch case branch by in

  • Fix annotation for "/recommender" endpoint by in

  • Fix jdk8 build issue due to missing pom dependency by in

  • Fix pom to use pinot-common-jdk8 for pinot-connector jkd8 java client by in

  • Fix log to reflect job type by in

  • [Bugfix] schema update bug fix by in

  • fix histogram null pointer exception by in

  • Fix thread safety issues with SDF (WIP) by in

  • Bug fix: failure status in ingestion jobs doesn't reflect in exit code by in

  • Fix skip segment logic in MinMaxValueBasedSelectionOrderByCombineOperator by in

  • Fix the bug of hybrid table request using the same request id by in

  • Fix the range check for range index on raw column by in

  • Fix Data-Correctness Bug in GTE Comparison in BinaryOperatorTransformFunction by in

  • extend PinotFS impls with listFilesWithMetadata and some bugfix by in

  • fix null transform bound check by in

  • Fix JsonExtractScalar when no value is extracted by in

  • Fix AddTable for real-time tables by in

  • Fix some type convert scalar functions by in

  • fix spammy logs for ConfluentSchemaRegistryRealtimeClusterIntegrationTest [MINOR] by in

  • Fix timestamp index on column of preserved key by in

  • Fix record extractor when ByteBuffer can be reused by in

  • Fix explain plan ALL_SEGMENTS_PRUNED_ON_SERVER node by in

  • Fix time validation when data type needs to be converted by in

  • UI: fix incorrect task finish time by in

  • Fix the bug where uploaded segments cannot be deleted on real-time table by in

  • [bugfix] correct the dir for building segments in FileIngestionHelper by in

  • Fix NonAggregationGroupByToDistinctQueryRewriter by in

  • fix distinct result return by in

  • Fix GcsPinotFS by in

  • fix DataSchema thread-safe issue by in

  • Bug fix: Add missing table config fetch for /tableConfigs list all by in

  • Fix re-uploading segment when the previous upload failed by in

  • Fix string split which should be on whole separator by in

  • Fix server request sent delay to be non-negative by in

  • bugfix: Add missing BIG_DECIMAL support for GenericRow serde by in

  • Fix extra restlet resource test which should be stateless by in

  • AdaptiveServerSelection: Fix timer by in

  • fix PinotVersion to be compatible with prometheus by in

  • Fix the setup for ControllerTest shared cluster by in

  • [hotfix]groovy class cache leak by in

  • Fix TIMESTAMP index handling in SegmentMapper by in

  • Fix the server admin endpoint cache to reflect the config changes by in

  • [bugfix] fix case-when issue by in

  • [bugfix] Let StartControllerCommand also handle "pinot.zk.server", "pinot.cluster.name" in default conf/pinot-controller.conf by in

  • [hotfix] semi-join opt by in

  • Fixing the rebalance issue for real-time table with tier by in

  • UI: show segment debug details when segment is in bad state by in

  • Fix the replication in segment assignment strategy by in

  • fix potential fd leakage for SegmentProcessorFramework by in

  • Fix NPE when reading ZK address from controller config by in

  • have query table list show search bar; fix InstancesTables filter by in

  • [pinot-spark-connector] Fix empty data table handling in GRPC reader by in

  • [bugfix] fix mergeRollupTask metrics by in

  • Bug fix: Get correct primary key count by in

  • Fix issues for real-time table reload by in

  • UI: fix segment status color remains same in different table page by in

  • Fix bloom filter creation on BYTES by in

  • [hotfix] broker selection not using table name by in

  • Fix race condition when 2 segment upload occurred for the same segment by in

  • fix timezone_hour/timezone_minute functions by in

  • [Bugfix] Move brokerId extraction to BaseBrokerStarter by in

  • Fix ser/de for StringLongPair by in

  • bugfix dir check for HadoopPinotFS.copyFromLocalDir by in

  • Bugfix: Use correct exception import in TableRebalancer. by in

  • Fix NPE in AbstractMetrics From Race Condition by in

  • #9466arrow-up-right
    #9448arrow-up-right
    #9907arrow-up-right
    #9907arrow-up-right
    #9367arrow-up-right
    #9373arrow-up-right
    #9274arrow-up-right
    #9279arrow-up-right
    #9374arrow-up-right
    #9344arrow-up-right
    #9753arrow-up-right
    #9731arrow-up-right
    @sajjad-moradiarrow-up-right
    #9197arrow-up-right
    @jadami10arrow-up-right
    #9244arrow-up-right
    @gviedmaarrow-up-right
    #9258arrow-up-right
    @satishwaghelaarrow-up-right
    #9161arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9262arrow-up-right
    @sajjad-moradiarrow-up-right
    #9201arrow-up-right
    #9261arrow-up-right
    #9343arrow-up-right
    #9488arrow-up-right
    #9335arrow-up-right
    #9612arrow-up-right
    #9464arrow-up-right
    @abhs50arrow-up-right
    #9247arrow-up-right
    @klsincearrow-up-right
    #9257arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9271arrow-up-right
    #9384arrow-up-right
    #9654arrow-up-right
    #9445arrow-up-right
    @xiangfu0arrow-up-right
    #9259arrow-up-right
    @61yaoarrow-up-right
    #9265arrow-up-right
    @klsincearrow-up-right
    #9276arrow-up-right
    @KKcorpsarrow-up-right
    #9288arrow-up-right
    @yuanbensonarrow-up-right
    #9295arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9304arrow-up-right
    @klsincearrow-up-right
    #9306arrow-up-right
    @vvivekiyerarrow-up-right
    #9311arrow-up-right
    @61yaoarrow-up-right
    #9312arrow-up-right
    @KKcorpsarrow-up-right
    #9320arrow-up-right
    @saurabhd336arrow-up-right
    #9356arrow-up-right
    @klsincearrow-up-right
    #9372arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9385arrow-up-right
    @KKcorpsarrow-up-right
    #9399arrow-up-right
    @klsincearrow-up-right
    #9400arrow-up-right
    @KKcorpsarrow-up-right
    #9413arrow-up-right
    @61yaoarrow-up-right
    #9441arrow-up-right
    @navinaarrow-up-right
    #9515arrow-up-right
    @KKcorpsarrow-up-right
    #9527arrow-up-right
    @klsincearrow-up-right
    #9540arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9543arrow-up-right
    @klsincearrow-up-right
    #9598arrow-up-right
    @saurabhd336arrow-up-right
    #9609arrow-up-right
    @navinaarrow-up-right
    #9621arrow-up-right
    @klsincearrow-up-right
    #9624arrow-up-right
    @klsincearrow-up-right
    #9705arrow-up-right
    @jasperjiaguoarrow-up-right
    #9708arrow-up-right
    @KKcorpsarrow-up-right
    #9802arrow-up-right
    @xiangfu0arrow-up-right
    #9855arrow-up-right
    @bagipriyankarrow-up-right
    #9857arrow-up-right
    @xiangfu0arrow-up-right
    #9860arrow-up-right
    @KKcorpsarrow-up-right
    #9863arrow-up-right
    @xiangfu0arrow-up-right
    #9975arrow-up-right
    @walterddrarrow-up-right
    #9270arrow-up-right
    @klsincearrow-up-right
    #9242arrow-up-right
    @apucherarrow-up-right
    #9252arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9278arrow-up-right
    @SabrinaZhaozyfarrow-up-right
    #9236arrow-up-right
    @somandalarrow-up-right
    #9078arrow-up-right
    @jasperjiaguoarrow-up-right
    #9286arrow-up-right
    @sajjad-moradiarrow-up-right
    #9289arrow-up-right
    @npawararrow-up-right
    #9238arrow-up-right
    @walterddrarrow-up-right
    #9300arrow-up-right
    @klsincearrow-up-right
    #9306arrow-up-right
    @KKcorpsarrow-up-right
    #9318arrow-up-right
    @saurabhd336arrow-up-right
    #9294arrow-up-right
    @SabrinaZhaozyfarrow-up-right
    #9296arrow-up-right
    @KKcorpsarrow-up-right
    #9320arrow-up-right
    @61yaoarrow-up-right
    #9330arrow-up-right
    @KKcorpsarrow-up-right
    #9340arrow-up-right
    @61yaoarrow-up-right
    #9338arrow-up-right
    @tanmesharrow-up-right
    #9184arrow-up-right
    @KKcorpsarrow-up-right
    #9230arrow-up-right
    @zhtaoxiangarrow-up-right
    #9339arrow-up-right
    @yuanbensonarrow-up-right
    #9364arrow-up-right
    @xiangfu0arrow-up-right
    #9352arrow-up-right
    @zhtaoxiangarrow-up-right
    #9359arrow-up-right
    @xiangfu0arrow-up-right
    #9376arrow-up-right
    @klsincearrow-up-right
    #9372arrow-up-right
    @jasperjiaguoarrow-up-right
    #9336arrow-up-right
    @ankitsultanaarrow-up-right
    #9308arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9387arrow-up-right
    @jasperjiaguoarrow-up-right
    #9386arrow-up-right
    @61yaoarrow-up-right
    #9312arrow-up-right
    @61yaoarrow-up-right
    #9327arrow-up-right
    @KKcorpsarrow-up-right
    #9405arrow-up-right
    @jasperjiaguoarrow-up-right
    #9408arrow-up-right
    @KKcorpsarrow-up-right
    #9378arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9435arrow-up-right
    @saurabhd336arrow-up-right
    #9436arrow-up-right
    @navinaarrow-up-right
    #9444arrow-up-right
    @vvivekiyerarrow-up-right
    #9311arrow-up-right
    @klsincearrow-up-right
    #9440arrow-up-right
    @klsincearrow-up-right
    #9432arrow-up-right
    @KKcorpsarrow-up-right
    #9426arrow-up-right
    @KKcorpsarrow-up-right
    #9377arrow-up-right
    @ankitsultanaarrow-up-right
    #9423arrow-up-right
    @KKcorpsarrow-up-right
    #9355arrow-up-right
    @klsincearrow-up-right
    #9449arrow-up-right
    @itschrispeckarrow-up-right
    #9451arrow-up-right
    @xiangfu0arrow-up-right
    #9455arrow-up-right
    @vvivekiyerarrow-up-right
    #9462arrow-up-right
    @klsincearrow-up-right
    #9457arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9468arrow-up-right
    @klsincearrow-up-right
    #9466arrow-up-right
    @navinaarrow-up-right
    #9224arrow-up-right
    @cbalciarrow-up-right
    #9475arrow-up-right
    @klsincearrow-up-right
    #9482arrow-up-right
    @agavraarrow-up-right
    #9477arrow-up-right
    @elonazoulayarrow-up-right
    #9490arrow-up-right
    @vvivekiyerarrow-up-right
    #9454arrow-up-right
    @GSharayuarrow-up-right
    #9309arrow-up-right
    @jasperjiaguoarrow-up-right
    #9499arrow-up-right
    @walterddrarrow-up-right
    #9465arrow-up-right
    @61yaoarrow-up-right
    #9486arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9508arrow-up-right
    @KKcorpsarrow-up-right
    #9512arrow-up-right
    @jasperjiaguoarrow-up-right
    #9420arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9522arrow-up-right
    @deemoliuarrow-up-right
    #9062arrow-up-right
    @dongxiaomanarrow-up-right
    #9391arrow-up-right
    @61yaoarrow-up-right
    #9487arrow-up-right
    @saurabhd336arrow-up-right
    #9356arrow-up-right
    @walterddrarrow-up-right
    #9524arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9526arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9532arrow-up-right
    @klsincearrow-up-right
    #9530arrow-up-right
    @klsincearrow-up-right
    #9534arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9536arrow-up-right
    @klsincearrow-up-right
    #9542arrow-up-right
    @vvivekiyerarrow-up-right
    #9544arrow-up-right
    @KKcorpsarrow-up-right
    #9538arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9551arrow-up-right
    @walterddrarrow-up-right
    #9554arrow-up-right
    @nizarhejaziarrow-up-right
    #9566arrow-up-right
    @somandalarrow-up-right
    #9333arrow-up-right
    @timsantsarrow-up-right
    #9550arrow-up-right
    @agavraarrow-up-right
    #9578arrow-up-right
    @agavraarrow-up-right
    #9607arrow-up-right
    @vvivekiyerarrow-up-right
    #9510arrow-up-right
    @sajjad-moradiarrow-up-right
    #9642arrow-up-right
    @jameskelleherarrow-up-right
    #9494arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9617arrow-up-right
    @agavraarrow-up-right
    #9620arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9604arrow-up-right
    @rino-kadijkarrow-up-right
    #9471arrow-up-right
    @gortizarrow-up-right
    #8979arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9635arrow-up-right
    #9326arrow-up-right
    @yuanbensonarrow-up-right
    #9638arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9646arrow-up-right
    @navinaarrow-up-right
    #9608arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9648arrow-up-right
    @walterddrarrow-up-right
    #9673arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9640arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9667arrow-up-right
    @klsincearrow-up-right
    #9668arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9688arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9689arrow-up-right
    @SabrinaZhaozyfarrow-up-right
    #9686arrow-up-right
    @vvivekiyerarrow-up-right
    #9678arrow-up-right
    @klsincearrow-up-right
    #9718arrow-up-right
    @npawararrow-up-right
    #9719arrow-up-right
    @walterddrarrow-up-right
    #9712arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9735arrow-up-right
    @KKcorpsarrow-up-right
    #9681arrow-up-right
    @jadami10arrow-up-right
    #9741arrow-up-right
    @SabrinaZhaozyfarrow-up-right
    #9501arrow-up-right
    @agavraarrow-up-right
    #9754arrow-up-right
    @somandalarrow-up-right
    #9740arrow-up-right
    @walterddrarrow-up-right
    #9733arrow-up-right
    @klsincearrow-up-right
    #9772arrow-up-right
    @agavraarrow-up-right
    #9790arrow-up-right
    @vvivekiyerarrow-up-right
    #9801arrow-up-right
    @KKcorpsarrow-up-right
    #9777arrow-up-right
    @zhtaoxiangarrow-up-right
    #9815arrow-up-right
    @navinaarrow-up-right
    #9800arrow-up-right
    @priyenarrow-up-right
    #9749arrow-up-right
    @wirybeaverarrow-up-right
    #9710arrow-up-right
    @jasperjiaguoarrow-up-right
    #9727arrow-up-right
    @deemoliuarrow-up-right
    #9665arrow-up-right
    #9518arrow-up-right
    @bagipriyankarrow-up-right
    #9519arrow-up-right
    @snleeearrow-up-right
    #9849arrow-up-right
    @jhissearrow-up-right
    #9862arrow-up-right
    @vvivekiyerarrow-up-right
    #9803arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9866arrow-up-right
    @navinaarrow-up-right
    #9851arrow-up-right
    @vvivekiyerarrow-up-right
    #9868arrow-up-right
    @agavraarrow-up-right
    #9848arrow-up-right
    @navinaarrow-up-right
    #9859arrow-up-right
    @jadami10arrow-up-right
    #9844arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9896arrow-up-right
    @klsincearrow-up-right
    #9914arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9915arrow-up-right
    @KKcorpsarrow-up-right
    #9825arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9921arrow-up-right
    @KKcorpsarrow-up-right
    #9861arrow-up-right
    @KKcorpsarrow-up-right
    #9852arrow-up-right
    @klsincearrow-up-right
    #9935arrow-up-right
    @klsincearrow-up-right
    #9828arrow-up-right
    @saurabhd336arrow-up-right
    #9908arrow-up-right
    @vvivekiyerarrow-up-right
    #9938arrow-up-right
    @timsantsarrow-up-right
    #9922arrow-up-right
    @etolbakovarrow-up-right
    #9884arrow-up-right
    @snleeearrow-up-right
    #9910arrow-up-right
    @zhtaoxiangarrow-up-right
    #9890arrow-up-right
    @vvivekiyerarrow-up-right
    #9875arrow-up-right
    @timsantsarrow-up-right
    #9960arrow-up-right
    @snleeearrow-up-right
    #9951arrow-up-right
    @somandalarrow-up-right
    #9810arrow-up-right
    @61yaoarrow-up-right
    #9958arrow-up-right
    @npawararrow-up-right
    #9988arrow-up-right
    @klsincearrow-up-right
    #9911arrow-up-right
    @zhtaoxiangarrow-up-right
    #9961arrow-up-right
    @agavraarrow-up-right
    #9912arrow-up-right
    @jadami10arrow-up-right
    #9993arrow-up-right
    @navinaarrow-up-right
    #9893arrow-up-right
    @Jackie-Jiangarrow-up-right
    #10017arrow-up-right
    @snleeearrow-up-right
    #10009arrow-up-right
    @zhtaoxiangarrow-up-right
    #9954arrow-up-right
    @agavraarrow-up-right
    #10021arrow-up-right
    @zhtaoxiangarrow-up-right
    #10026arrow-up-right
    @Jackie-Jiangarrow-up-right
    #10029arrow-up-right
    @saurabhd336arrow-up-right
    #10028arrow-up-right
    #9521arrow-up-right
    #9652arrow-up-right
    #9699arrow-up-right
    #9762arrow-up-right
    #9781arrow-up-right
    #9888arrow-up-right
    #9730arrow-up-right
    #9877arrow-up-right
    #9941arrow-up-right
    @sajjad-moradiarrow-up-right
    #9293arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9298arrow-up-right
    @saurabhd336arrow-up-right
    #9299arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9287arrow-up-right
    @walterddrarrow-up-right
    #9313arrow-up-right
    @sajjad-moradiarrow-up-right
    #9326arrow-up-right
    @somandalarrow-up-right
    #9351arrow-up-right
    @somandalarrow-up-right
    #9353arrow-up-right
    @KKcorpsarrow-up-right
    #9381arrow-up-right
    @MeihanLiarrow-up-right
    #9382arrow-up-right
    @jasperjiaguoarrow-up-right
    #9428arrow-up-right
    @saurabhd336arrow-up-right
    #9425arrow-up-right
    @KKcorpsarrow-up-right
    #9410arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9434arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9443arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9453arrow-up-right
    @ankitsultanaarrow-up-right
    #9461arrow-up-right
    @klsincearrow-up-right
    #9478arrow-up-right
    @walterddrarrow-up-right
    #9495arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9500arrow-up-right
    @npawararrow-up-right
    #9506arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9509arrow-up-right
    @agavraarrow-up-right
    #9516arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9533arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9549arrow-up-right
    @somandalarrow-up-right
    #9572arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9569arrow-up-right
    @jayeshchoudharyarrow-up-right
    #9557arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9579arrow-up-right
    @zhtaoxiangarrow-up-right
    #9591arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9605arrow-up-right
    @walterddrarrow-up-right
    #9582arrow-up-right
    @lfernandez93arrow-up-right
    #9556arrow-up-right
    @walterddrarrow-up-right
    #9619arrow-up-right
    @timsantsarrow-up-right
    #9603arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9631arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9650arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9656arrow-up-right
    @timsantsarrow-up-right
    #9661arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9674arrow-up-right
    @vvivekiyerarrow-up-right
    #9697arrow-up-right
    @agavraarrow-up-right
    #9701arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9704arrow-up-right
    @walterddrarrow-up-right
    #9716arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9722arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9734arrow-up-right
    @walterddrarrow-up-right
    #9702arrow-up-right
    @thangnd197arrow-up-right
    #9739arrow-up-right
    @walterddrarrow-up-right
    #9779arrow-up-right
    @snleeearrow-up-right
    #9780arrow-up-right
    @jayeshchoudharyarrow-up-right
    #9700arrow-up-right
    @GSharayuarrow-up-right
    #9816arrow-up-right
    @klsincearrow-up-right
    #9797arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9751arrow-up-right
    @jadami10arrow-up-right
    #9742arrow-up-right
    @cbalciarrow-up-right
    #9837arrow-up-right
    @zhtaoxiangarrow-up-right
    #9864arrow-up-right
    @KKcorpsarrow-up-right
    #9876arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9885arrow-up-right
    @jayeshchoudharyarrow-up-right
    #9891arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9898arrow-up-right
    @walterddrarrow-up-right
    #9902arrow-up-right
    @jackjlliarrow-up-right
    #9905arrow-up-right
    @agavraarrow-up-right
    #9949arrow-up-right
    @jackjlliarrow-up-right
    #9965arrow-up-right
    @Jackie-Jiangarrow-up-right
    #9985arrow-up-right
    @klsincearrow-up-right
    #9979arrow-up-right
    @mayankshrivarrow-up-right
    #10025arrow-up-right
    @ankitsultanaarrow-up-right
    #10022arrow-up-right