public static Connection createConnection(Configuration conf, ExecutorService pool,
    final User user, Map<String, byte[]> connectionAttributes) throws IOException {
    return createConnection(null, conf, pool, user, connectionAttributes);
  }
Create a new Connection instance using the passed <code>conf</code> instance. Connection
encapsulates all housekeeping for a connection to the cluster. All tables and interfaces
created from returned connection share zookeeper connection(if used), meta cache, and
connections to region servers and masters. <br>
The caller is responsible for calling {@link Connection#close()} on the returned connection
instance. Typical usage:

<pre>
try (Connection connection = ConnectionFactory.createConnection(conf);
  Table table = connection.getTable(TableName.valueOf("table1"))) {
  table.get(...);
  ...
}
</pre>

@param conf                 configuration
@param user                 the user the connection is for
@param pool                 the thread pool to use for batch operations
@param connectionAttributes attributes to be sent along to server during connection establish
@return Connection object for <code>conf</code>
hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionFactory.java