ly923976094 commented on issue #3454: what is the difference between mmap and 
heap?
URL: 
https://github.com/apache/incubator-pinot/issues/3454#issuecomment-466903049
 
 
   > Can you give more details on qps, schema and metadata of any segment that 
was successfully created?
   > […](#)
   > On Sun, Feb 24, 2019 at 9:58 PM Sunny ***@***.***> wrote: @ly923976094 
<https://github.com/ly923976094> that depends on your hardware profile, OS, qps 
load, latency tolerance, and amount of data. It is a very hard question to 
answer, but we plan to have some write-ups on tuning Pinot. It should be 
available with our documentation in the next few weeks. Is there any specific 
document for reference? At present, consumers with high QPS have configured 
HEAP and often out memory @mcvsubbu <https://github.com/mcvsubbu> — You are 
receiving this because you commented. Reply to this email directly, view it on 
GitHub <[#3454 
(comment)](https://github.com/apache/incubator-pinot/issues/3454#issuecomment-466882031)>,
 or mute the thread 
<https://github.com/notifications/unsubscribe-auth/AAz7Z35iZRrC1kzRYt9x5Xi-hHXLwySxks5vQ3uVgaJpZM4YWFP7>
 .
   
   consumer qps 5000, 
   tablle config: 
   {
     "REALTIME": {
       "tableType": "REALTIME",
       "tenants": {
         "server": "serverOne",
         "tagOverrideConfig": null,
         "broker": "brokerOne"
       },
       "tableIndexConfig": {
         "onHeapDictionaryColumns": null,
         "autoGeneratedInvertedIndex": false,
         "sortedColumn": [],
         "starTreeIndexConfigs": null,
         "invertedIndexColumns": null,
         "segmentFormatVersion": null,
         "noDictionaryConfig": null,
         "createInvertedIndexDuringSegmentGeneration": false,
         "starTreeIndexSpec": null,
         "streamConfigs": {
           "stream.kafka.decoder.class.name": 
"com.linkedin.pinot.core.realtime.impl.kafka.KafkaJSONMessageDecoder",
           "streamType": "kafka",
           "realtime.segment.flush.threshold.size": "5000000",
           "stream.kafka.consumer.type": "simple",
           "stream.kafka.broker.list": " 
broker1.intra.aliyun.dip.weibo.com:9090,broker2.intra.aliyun.dip.weibo.com:9090,broker3.intra.aliyun.dip.weibo.com:9090",
           "realtime.segment.flush.threshold.time": "3600000",
           "stream.kafka.consumer.prop.auto.offset.reset": "smallest",
           "stream.kafka.hlc.group.id": "dip_cdn_client-video_aggregation",
           "stream.kafka.topic.name": "cdn_client"
         },
         "loadMode": "HEAP",
         "columnMinMaxValueGeneratorMode": null,
         "noDictionaryColumns": null,
         "segmentPartitionConfig": null,
         "streamConsumptionConfig": null,
         "aggregateMetrics": false
       },
       "metadata": {
         "customConfigs": {
           "business": "dip-cdn-client-video-aggregation",
           "isFromEsKafka": "true"
         }
       },
       "segmentsConfig": {
         "retentionTimeUnit": "DAYS",
         "segmentPushFrequency": "daily",
         "replication": "1",
         "replicaGroupStrategyConfig": null,
         "timeColumnName": "fdate",
         "retentionTimeValue": "4",
         "timeType": "MILLISECONDS",
         "segmentPushType": "APPEND",
         "hllConfig": null,
         "schemaName": "dip_cdn_client-video_aggregation",
         "segmentAssignmentStrategy": "BalanceNumSegmentAssignmentStrategy",
         "replicasPerPartition": "1"
       },
       "tableName": "dip_cdn_client-video_aggregation_REALTIME"
     }
   }
   
   schema config:
   {
     "schemaName": "dip_cdn_client-video_aggregation",
     "dimensionFieldSpecs": [
       {
         "name": "cdn",
         "dataType": "STRING"
       },
       {
         "name": "country",
         "dataType": "STRING"
       },
       {
         "name": "dns_ip_country",
         "dataType": "STRING"
       },
       {
         "name": "dns_ip_isp",
         "dataType": "STRING"
       },
       {
         "name": "dns_ip_province",
         "dataType": "STRING"
       },
       {
         "name": "domain",
         "dataType": "STRING"
       },
       {
         "name": "error_code",
         "dataType": "STRING"
       },
       {
         "name": "isp",
         "dataType": "STRING"
       },
       {
         "name": "protocal",
         "dataType": "STRING"
       },
       {
         "name": "protocol",
         "dataType": "STRING"
       },
       {
         "name": "province",
         "dataType": "STRING"
       },
       {
         "name": "video_cache_type",
         "dataType": "STRING"
       },
       {
         "name": "video_firstframe_status",
         "dataType": "STRING"
       },
       {
         "name": "video_network",
         "dataType": "STRING"
       },
       {
         "name": "video_quit_status",
         "dataType": "STRING"
       },
       {
         "name": "video_trace_dns_ip",
         "dataType": "STRING"
       }
     ],
     "metricFieldSpecs": [
       {
         "name": "ff_cancel_num",
         "dataType": "LONG"
       },
       {
         "name": "ff_error_num",
         "dataType": "LONG"
       },
       {
         "name": "psr1_denominator",
         "dataType": "LONG"
       },
       {
         "name": "psr1_numerator",
         "dataType": "LONG"
       },
       {
         "name": "stall_count",
         "dataType": "LONG"
       },
       {
         "name": "succ_denominator",
         "dataType": "LONG"
       },
       {
         "name": "total_count",
         "dataType": "LONG"
       },
       {
         "name": "total_num1",
         "dataType": "LONG"
       },
       {
         "name": "total_num2",
         "dataType": "LONG"
       },
       {
         "name": "succ_numerator",
         "dataType": "LONG"
       },
       {
         "name": "video_firstframe_time",
         "dataType": "DOUBLE"
       }
     ],
     "timeFieldSpec": {
       "incomingGranularitySpec": {
         "name": "fdate",
         "dataType": "LONG",
         "timeType": "MILLISECONDS"
       }
     }
   }
   
   
   
   java.lang.reflect.InvocationTargetException
           at sun.reflect.GeneratedMethodAccessor50.invoke(Unknown Source)
           at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
           at java.lang.reflect.Method.invoke(Method.java:498)
           at 
org.apache.helix.messaging.handling.HelixStateTransitionHandler.invoke(HelixStateTransitionHandler.java:430)
           at 
org.apache.helix.messaging.handling.HelixStateTransitionHandler.handleMessage(HelixStateTransitionHandler.java:344)
           at 
org.apache.helix.messaging.handling.HelixTask.call(HelixTask.java:96)
           at 
org.apache.helix.messaging.handling.HelixTask.call(HelixTask.java:47)
           at java.util.concurrent.FutureTask.run(FutureTask.java:266)
           at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
           at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
           at java.lang.Thread.run(Thread.java:745)
   Caused by: java.lang.OutOfMemoryError: Direct buffer memory
           at java.nio.Bits.reserveMemory(Bits.java:693)
           at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:123)
           at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311)
           at 
com.linkedin.pinot.core.segment.memory.PinotByteBuffer.allocateDirect(PinotByteBuffer.java:36)
           at 
com.linkedin.pinot.core.segment.memory.PinotByteBuffer.loadFile(PinotByteBuffer.java:40)
           at 
com.linkedin.pinot.core.segment.memory.PinotDataBuffer.loadFile(PinotDataBuffer.java:144)
           at 
com.linkedin.pinot.core.segment.store.SingleFileIndexDirectory.mapAndSliceFile(SingleFileIndexDirectory.java:284)
           at 
com.linkedin.pinot.core.segment.store.SingleFileIndexDirectory.mapBufferEntries(SingleFileIndexDirectory.java:265)
           at 
com.linkedin.pinot.core.segment.store.SingleFileIndexDirectory.load(SingleFileIndexDirectory.java:190)
           at 
com.linkedin.pinot.core.segment.store.SingleFileIndexDirectory.<init>(SingleFileIndexDirectory.java:86)
           at 
com.linkedin.pinot.core.segment.store.SegmentLocalFSDirectory.loadData(SegmentLocalFSDirectory.java:198)
           at 
com.linkedin.pinot.core.segment.store.SegmentLocalFSDirectory.load(SegmentLocalFSDirectory.java:179)
           at 
com.linkedin.pinot.core.segment.store.SegmentLocalFSDirectory.<init>(SegmentLocalFSDirectory.java:77)
           at 
com.linkedin.pinot.core.segment.store.SegmentDirectory.createFromLocalFS(SegmentDirectory.java:108)
           at 
com.linkedin.pinot.core.indexsegment.immutable.ImmutableSegmentLoader.load(ImmutableSegmentLoader.java:108)
           at 
com.linkedin.pinot.core.data.manager.realtime.RealtimeTableDataManager.replaceLLSegment(RealtimeTableDataManager.java:291)
           at 
com.linkedin.pinot.core.data.manager.realtime.RealtimeTableDataManager.downloadAndReplaceSegment(RealtimeTableDataManager.java:279)
           at 
com.linkedin.pinot.core.data.manager.realtime.LLRealtimeSegmentDataManager.downloadSegmentAndReplace(LLRealtimeSegmentDataManager.java:945)
           at 
com.linkedin.pinot.core.data.manager.realtime.LLRealtimeSegmentDataManager.goOnlineFromConsuming(LLRealtimeSegmentDataManager.java:934)
           at 
com.linkedin.pinot.server.starter.helix.SegmentOnlineOfflineStateModelFactory$SegmentOnlineOfflineStateModel.onBecomeOnlineFromConsuming(SegmentOnlineOfflineStateModelFactory.java:118)
           ... 11 more

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to