#general


@pkhobragade: @pkhobragade has joined the channel
@abhinav.wagle1: We did a basic POC of Pinot on bare metal EC2 hosts on AWS(And see Pinot will be an excellent fit for our use-cases) and are now at a stage to start working in the direction of production setup. Wanted to check with the community for production setup: Are there, any gotcha's on running the cluster via Kubernetes(helm) way vs dedicated EC2 hosts. Does Pinot have any performance benefit of running on dedicated EC2 instances vs Kubernetes POD's @Scale.
  @abhinav.wagle1: @bagi.priyank^: To add more details
  @xiaobing: hi Abhinav, what’s your scale look like? We run many pinot clusters of different sizes on k8s and haven’t seen particular perf issues related to k8s. Even with k8s, you can also have EC2 instances dedicated to the pinot clusters.
  @abhinav.wagle1: Hi @xiaobing: Thanks for confirming. Can you elaborate little more by what you mean by `Even with k8s, you can also have EC2 instances dedicated to the pinot clusters.` ?
  @abhinav.wagle1: Do you mean have dedicated EC2 instances and deploy containers on it vis k8s? And all pods on a specific host can share the same data segment ?
  @xiaobing: e.g. we use k8s to deploy pinot servers, controllers, etc. Each of them (like every pinot server) runs on dedicated EC2 instance. Pods (like those server pods) don’t share data segment.
  @abhinav.wagle1: Gotcha. So does k8s offer any benefit compared to a non-k8s deployment? Given that data, segments are not shared.
  @xiaobing: I’m mainly aware of the benefits of k8s to simplify the operations.
  @xiaobing: as to any perf impacts, I’ll cc @mayanks to help shed some light here.
  @mayanks: Technically, if the resources provided are same, there isn’t any difference in perf.
  @abhinav.wagle1: Got it. Thanks @xiaobing, @mayanks
  @bagi.priyank: I guess our major concern (or at least mine since I haven't used k8s before) is using a dedicated disk on ec2 instance mounted to k8s pod vs using ebs volumes. I honestly don't know if the first option is possible although I hope it is and maybe any pointers in that direction.
  @xiaobing: We mount EBS to EC2 instance for pinot server pods to access. I think that’s handed by k8s PersistentVolume but not expert on that front.
  @abhinav.wagle1: @bagi.priyank: As @xiaobing mentioned they have 1: 1 mapping from the k8s pod to the instance. Hence nothing is shared amongst Pods in terms of the segment.
  @mayanks: Yes, most deployments I know of use EBS attached to VMs.
  @bagi.priyank: @abhinav.wagle1 EBS volumes can be 1:1 mapped too. They are different than instances with dedicated disc (instance store). I/O on EBS volumes happens via network while dedicated disc will be local to the instance.

#random


@pkhobragade: @pkhobragade has joined the channel

#troubleshooting


@diana.arnos: Hi there! Anyone knows what the exception ```java.lang.RuntimeException: Caught exception while running CombinePlanNode. at org.apache.pinot.core.plan.CombinePlanNode.run(CombinePlanNode.java:146)``` means? Full exception on thread.
  @diana.arnos: (Unfortunatelly, I didn't get what was the request with id 1) ```Exception processing requestId 1 java.lang.RuntimeException: Caught exception while running CombinePlanNode. at org.apache.pinot.core.plan.CombinePlanNode.run(CombinePlanNode.java:146) ~[pinot-all-0.9.3-jar-with-dependencies.jar:0.9.3-de4cb2cc01d611c92ff5d1fc6a49ee9f8b113192] at org.apache.pinot.core.plan.InstanceResponsePlanNode.run(InstanceResponsePlanNode.java:41) ~[pinot-all-0.9.3-jar-with-dependencies.jar:0.9.3-de4cb2cc01d611c92ff5d1fc6a49ee9f8b113192] at org.apache.pinot.core.plan.GlobalPlanImplV0.execute(GlobalPlanImplV0.java:45) ~[pinot-all-0.9.3-jar-with-dependencies.jar:0.9.3-de4cb2cc01d611c92ff5d1fc6a49ee9f8b113192] at org.apache.pinot.core.query.executor.ServerQueryExecutorV1Impl.processQuery(ServerQueryExecutorV1Impl.java:296) ~[pinot-all-0.9.3-jar-with-dependencies.jar:0.9.3-de4cb2cc01d611c92ff5d1fc6a49ee9f8b113192] at org.apache.pinot.core.query.executor.ServerQueryExecutorV1Impl.processQuery(ServerQueryExecutorV1Impl.java:198) ~[pinot-all-0.9.3-jar-with-dependencies.jar:0.9.3-de4cb2cc01d611c92ff5d1fc6a49ee9f8b113192] at org.apache.pinot.core.query.executor.QueryExecutor.processQuery(QueryExecutor.java:60) ~[pinot-all-0.9.3-jar-with-dependencies.jar:0.9.3-de4cb2cc01d611c92ff5d1fc6a49ee9f8b113192] at org.apache.pinot.core.query.scheduler.QueryScheduler.processQueryAndSerialize(QueryScheduler.java:154) ~[pinot-all-0.9.3-jar-with-dependencies.jar:0.9.3-de4cb2cc01d611c92ff5d1fc6a49ee9f8b113192] at org.apache.pinot.core.query.scheduler.QueryScheduler.lambda$createQueryFutureTask$0(QueryScheduler.java:138) ~[pinot-all-0.9.3-jar-with-dependencies.jar:0.9.3-de4cb2cc01d611c92ff5d1fc6a49ee9f8b113192] at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?] at shaded.com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:111) [pinot-all-0.9.3-jar-with-dependencies.jar:0.9.3-de4cb2cc01d611c92ff5d1fc6a49ee9f8b113192] at shaded.com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:58) [pinot-all-0.9.3-jar-with-dependencies.jar:0.9.3-de4cb2cc01d611c92ff5d1fc6a49ee9f8b113192] at shaded.com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:75) [pinot-all-0.9.3-jar-with-dependencies.jar:0.9.3-de4cb2cc01d611c92ff5d1fc6a49ee9f8b113192] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?] at java.lang.Thread.run(Thread.java:829) [?:?] Caused by: java.util.concurrent.TimeoutException at java.util.concurrent.FutureTask.get(FutureTask.java:204) ~[?:?] at org.apache.pinot.core.plan.CombinePlanNode.run(CombinePlanNode.java:135) ~[pinot-all-0.9.3-jar-with-dependencies.jar:0.9.3-de4cb2cc01d611c92ff5d1fc6a49ee9f8b113192]```
  @mark.needham: I've seen that before when I updated the schema and segments had data for a previous schema
  @mark.needham: but not sure if that's your case
  @diana.arnos: :thinking_face: that might be the case, for I deleted and re-created the table with the same name
  @diana.arnos: But I'm not sure if there should be any data from the previous schema there...
  @mayanks: Can you check the broker log? That should have the query for request id 1
  @diana.arnos: I couldn't, we removed the deployment shortly after :disappointed: But it didn't happen again :shrug:
@pkhobragade: @pkhobragade has joined the channel

#getting-started


@aaron.weiss: Is there any way to query a specific cell in a multi-value column? For instance, in the example below, I know that the first values in each column go together, but I can't seem to query them like "SELECT external_recipient_identifier[0], external_recipient_ipaddress[0]". I did try the map_value function for that email, and it did return me the correct ipaddress, but this seems pretty limited because you have to specify an exact filter for the 2nd parameter. ```map_value(external_recipient_identifier, 'Théo...@gmail.com', external_recipient_ipaddress)```
  @g.kishore: looks like there is `arraySliceString(column, start, end)`
  @aaron.weiss: that's perfect! Thanks @g.kishore, any reason that isn't documented?
  @g.kishore: no excuse :slightly_smiling_face:
  @aaron.weiss: haha ok, much appreciated tho
  @mayanks: Apologies, we will get this added in the docs asap.
  @mark.needham:
  @mark.needham: we have some other array functions that I'll document as well
  @aaron.weiss: thanks all!
@pkhobragade: @pkhobragade has joined the channel
@aaron.weiss: follow up question, is there a fn that will return what array position a string is in? so for multi-value string column, if I search for a string the ends up being the third value in the array, I would like it to return 3 (or 2 if start from 0)
  @g.kishore: ```arrayIndexOfString```
  @aaron.weiss: you're quick!
  @aaron.weiss: thanks!
  @g.kishore: ``````
  @aaron.weiss: beautiful, you figured you'd save yourself me asking another question in 5 minutes? :slightly_smiling_face:
  @aaron.weiss: thanks again
--------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@pinot.apache.org For additional commands, e-mail: dev-h...@pinot.apache.org

Reply via email to