Description
Phoenix MR jobs uses a custom class PhoenixInputFormat to determine the splits and the parallelism of the work. The class directly opens up a HBase connection, which is not closed after the usage. Independently running MR jobs should not have any concern, however jobs that run through Phoenix-Spark can cause leak issues if this is left unclosed (since those jobs run as a part of same JVM).
Apart from this, the connection should be instantiated with HBaseFactoryProvider.getHConnectionFactory() instead of the default one. It can be useful if a separate client is trying to run jobs and wants to provide a custom implementation of HConnection.
jmahonin Any ideas?
jamestaylor vincentpoon Any concerns around this?
Attachments
Attachments
Issue Links
- is caused by
-
PHOENIX-3600 Core MapReduce classes don't provide location info
- Resolved
- is duplicated by
-
PHOENIX-4503 Phoenix-Spark plugin doesn't release zookeeper connections
- Resolved
-
PHOENIX-4631 PhoenixInputFormat should close connection after generateSplits()
- Resolved
- relates to
-
PHOENIX-4247 Phoenix/Spark/ZK connection
- Resolved