2
votes

I'm trying to query a distributed system.

I have a Postgres instance and a MongoDB instance, both integrated with Apache Drill.

  • cast_info collection is on MongoDB.
  • title table is on Postgres.

When I try to launch:

SELECT ci.person_id, count(t.title)
FROM mongo.imdb.cast_info as ci 
JOIN postgres.public.title as t 
ON ci.movie_id = t.id 
WHERE t.kind_id = 1
GROUP BY ci.person_id
LIMIT 10;

I got this error:

org.apache.drill.common.exceptions.UserRemoteException: SYSTEM ERROR: IllegalStateException: Already had POJO for id (java.lang.Integer) [com.fasterxml.jackson.annotation.ObjectIdGenerator$IdKey@3372bbe8] Fragment 3:0 [Error Id: 69f02c9a-b8b0-444b-9077-fd3cc1799750 on 192.168.0.10:31010]

It seems like that the problem is related to GROUP BY clause, since if I delete the GROUP BY (and count) line the query successfully runs.

Can anyone help me?

1

1 Answers

2
votes

There is an outstanding patch for this bug, should be merged soon. Once it is merged you can either build Drill yourself or wait for the 1.5 release.

https://issues.apache.org/jira/browse/DRILL-4277