airbnb / airpal

Web UI for PrestoDB.
http://airbnb.github.io/airpal
Apache License 2.0
2.76k stars 460 forks source link

airpal doesn't work with presto-0.150 #200

Closed qli-aa closed 6 years ago

qli-aa commented 7 years ago

follow guide https://github.com/airbnb/airpal, but always meet below errors. ERROR [2016-09-05 06:50:57,942] com.airbnb.airpal.resources.sse.SSEEventSourceServlet: Could not serialize JobEvent as JSON ! java.lang.IllegalArgumentException: ParameterKind is [LONG] but expected [NAMED_TYPE]

kabergstrom commented 7 years ago

I'm having the same issue. I'm not sure about the solution, but it looks like the RosettaJdbi ObjectMapper is not just serializing the properties annotated with @JsonProperty - it's also calling the method "getNamedTypeSignature" on com.facebook.presto.client.ClientTypeSignatureParameter.

This method throws when the Kind is not of the expected value. I'm guessing turning off auto-detection on the Rosetta objectmapper will solve the issue.

kabergstrom commented 7 years ago

I seem to have gotten a lot more working now, on this fork: https://github.com/stunlockstudios/airpal

Still a few bugs but it's definitely usable now. We run it with Presto 0.145 and Hive 2.0.1 using the Openstack Swift Hadoop connector to fetch partitioned external tables of Parquet files in object storage.

What I did was to disable auto detection of properties in the ObjectMapper and then tried to properly annotate fields in entity classes with @JsonProperty. Also fixed a bug related to reading the results of "SHOW COLUMNS FROM %S", where the format seemed to have changed from an older presto version.

EDIT: If you try my branch with presto > 0.145, please share the results.

qli-aa commented 7 years ago

That repo worked for me, thank you !

jkakh commented 7 years ago

I am getting the same error with Presto 0.150. I am using AWS EMR cluster. Will this new repo works fine in AWS EMR cluster with presto 0.150.

ghost commented 7 years ago

I am getting the same error with Presto 0.152.3. I am using AWS EMR cluster

stolinzeev commented 7 years ago

I get error on Presto 0.152.3 AWS EMR cluster "com.google.common.base.CharMatcher.matchesAllOf(CharMatcher.java:533)", "io.airlift.http.client.HttpUriBuilder.percentDecode(HttpUriBuilder.java:282)", "io.airlift.http.client.HttpUriBuilder.(HttpUriBuilder.java:57)", "io.airlift.http.client.HttpUriBuilder.uriBuilderFrom(HttpUriBuilder.java:70)", "com.facebook.presto.client.StatementClient.buildQueryRequest(StatementClient.java:126)", "com.facebook.presto.client.StatementClient.(StatementClient.java:114)", "com.airbnb.airpal.presto.QueryRunner.startInternalQuery(QueryRunner.java:30)", "com.airbnb.airpal.core.health.PrestoHealthCheck$1$1.call(PrestoHealthCheck.java:49)", "com.airbnb.airpal.core.health.PrestoHealthCheck$1$1.call(PrestoHealthCheck.java:41)", "java.util.concurrent.FutureTask.run(FutureTask.java:266)", "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)", "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)", "java.lang.Thread.run(Thread.java:745)"

NitinKumar94 commented 7 years ago

The repo worked for me with presto-0.157

rcordeau commented 7 years ago

Same here. The repo worked for me with presto-0.157 running in AWS EMR cluster. Thanks for providing a fixed repo!

heyarnold1 commented 7 years ago

Which EMR version are you using, I can only find presto 0.152 on EMR

santhavathi commented 7 years ago

@kabergstrom, I am using your repo https://github.com/StunlockStudios/airpal and it works fine. But Data Preview tab is not working. It does not show the rows. Will you be fixing that, or am I missing something...

kabergstrom commented 7 years ago

I'm sorry to say that we have migrated to AirBnBs new project, Superset, instead as Airpal is officially deprecated from their end. I recommend you to do the same - it really is much nicer :) development is very active as well.

SherlockZN commented 7 years ago

Thanks, This repo worked for me with presto-0.153 but when I run ./gradlew -Dairpal.prestoVersion=0.153 clean shadowJar It still failed with error ConnectorId cannot be converted to String return new Table(input.getConnectorId(), input.getSchema(), input.getTable(), columns); ^

sai129198 commented 6 years ago

I have the same problems. My presro version is 0.151. Thank you @kabergstrom . I am using your repo https://github.com/StunlockStudios/airpal and it works fine. @santhavathi My version Data Preview tab works.