# Dremio ARP -- drill connector issue

**URL:** <https://community.dremio.com/t/dremio-arp-drill-connector-issue/5749>\
**Category:** Uncategorized\
**Created:** [June 17, 2020, 8:14pm UTC](https://community.dremio.com/t/dremio-arp-drill-connector-issue/5749 "2020-06-17T20:14:29Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![idoor88](https://avatars.discourse-cdn.com/v4/letter/i/34f0e0/32.png) [@idoor88](https://community.dremio.com/u/idoor88)\
**Post date:** [June 17, 2020, 8:14pm UTC](https://community.dremio.com/t/dremio-arp-drill-connector-issue/5749/1 "2020-06-17T20:14:29Z")

</div>

Hi, All, I am trying to develop a Dremio Connector to Apache Drill based on the example:

> **[How to Create an ARP Connector](https://www.dremio.com/tutorials/how-to-create-an-arp-connector/)**
>
> Tutorial that helps users learn how to use the ARP framework to create custom data source connectors.

After I deployed the drill jdbc jar and my connector jar, I got an exception connection is not valid, I think the reason is related to the connection string I am using for drill:  
jdbc:drill:drillbit=localhost:31010  
for this connection string, there is no database name in the end, in the sqlite example,  
@VisibleForTesting  
public String toJdbcConnectionString() {  
final String database = checkNotNull(this.database, “Missing database.”);

```
return String.format("jdbc:sqlite:%s", database);

```

}  
the database variable is the database name, but for drill, the connection string does not require that.

so my question is does the ARP support Drill for connector?

Thanks

The full exception stack trace is:

ERROR c.d.e.store.jdbc.JdbcStoragePlugin - Connection is not valid.

java.lang.NullPointerException: null

at com.dremio.exec.store.jdbc.JdbcStoragePlugin.getState(JdbcStoragePlugin.java:360) ~[dremio-ce-jdbc-plugin-4.1.4-202001240912140359-a90eb503.jar:4.1.4-202001240912140359-a90eb503]

at com.dremio.exec.catalog.ManagedStoragePlugin.setLocals(ManagedStoragePlugin.java:723) [dremio-sabot-kernel-4.1.4-202001240912140359-a90eb503.jar:4.1.4-202001240912140359-a90eb503]

at com.dremio.exec.catalog.ManagedStoragePlugin.replacePlugin(ManagedStoragePlugin.java:836) [dremio-sabot-kernel-4.1.4-202001240912140359-a90eb503.jar:4.1.4-202001240912140359-a90eb503]

at com.dremio.exec.catalog.ManagedStoragePlugin.createOrUpdateSource(ManagedStoragePlugin.java:327) [dremio-sabot-kernel-4.1.4-202001240912140359-a90eb503.jar:4.1.4-202001240912140359-a90eb503]

at com.dremio.exec.catalog.ManagedStoragePlugin.createSource(ManagedStoragePlugin.java:293) [dremio-sabot-kernel-4.1.4-202001240912140359-a90eb503.jar:4.1.4-202001240912140359-a90eb503]

at com.dremio.exec.catalog.PluginsManager.create(PluginsManager.java:152) [dremio-sabot-kernel-4.1.4-202001240912140359-a90eb503.jar:4.1.4-202001240912140359-a90eb503]

at com.dremio.exec.catalog.CatalogServiceImpl.createSource(CatalogServiceImpl.java:332) [dremio-sabot-kernel-4.1.4-202001240912140359-a90eb503.jar:4.1.4-202001240912140359-a90eb503]

at com.dremio.exec.catalog.CatalogServiceImpl.access$400(CatalogServiceImpl.java:93) [dremio-sabot-kernel-4.1.4-202001240912140359-a90eb503.jar:4.1.4-202001240912140359-a90eb503]

at com.dremio.exec.catalog.CatalogServiceImpl$SourceModifier.createSource(CatalogServiceImpl.java:567) [dremio-sabot-kernel-4.1.4-202001240912140359-a90eb503.jar:4.1.4-202001240912140359-a90eb503]

at com.dremio.exec.catalog.CatalogImpl.createSource(CatalogImpl.java:605) [dremio-sabot-kernel-4.1.4-202001240912140359-a90eb503.jar:4.1.4-202001240912140359-a90eb503]

at com.dremio.exec.catalog.SourceAccessChecker.createSource(SourceAccessChecker.java:245) [dremio-sabot-kernel-4.1.4-202001240912140359-a90eb503.jar:4.1.4-202001240912140359-a90eb503]

at com.dremio.exec.catalog.DelegatingCatalog.createSource(DelegatingCatalog.java:206) [dremio-sabot-kernel-4.1.4-202001240912140359-a90eb503.jar:4.1.4-202001240912140359-a90eb503]

at com.dremio.dac.service.source.SourceService.registerSourceWithRuntime(SourceService.java:160) [dremio-dac-backend-4.1.4-202001240912140359-a90eb503.jar:4.1.4-202001240912140359-a90eb503]

at com.dremio.dac.service.source.SourceService.registerSourceWithRuntime(SourceService.java:151) [dremio-dac-backend-4.1.4-202001240912140359-a90eb503.jar:4.1.4-202001240912140359-a90eb503]

at com.dremio.dac.service.source.SourceService.registerSourceWithRuntime(SourceService.java:147) [dremio-dac-backend-4.1.4-202001240912140359-a90eb503.jar:4.1.4-202001240912140359-a90eb503]

at com.dremio.dac.resource.PutSourceResource.putSource(PutSourceResource.java:80) [dremio-dac-backend-4.1.4-202001240912140359-a90eb503.jar:4.1.4-202001240912140359-a90eb503]

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0\_181]

---

<div class="post-metadata">

**Author:** ![b-rock](https://sea2.discourse-cdn.com/flex020/user_avatar/community.dremio.com/b-rock/32/2027_2.png) [@b-rock](https://community.dremio.com/u/b-rock)\
**Post date:** [June 23, 2020, 12:54am UTC](https://community.dremio.com/t/dremio-arp-drill-connector-issue/5749/2 "2020-06-23T00:54:42Z")

</div>

> [@idoor88](#):
>
> he full exception stack trace is:
> 
> ERROR c.d.e.store.jdbc.JdbcStoragePlugin - Connection is not valid.
> 
> java.lang.NullPointerException: null
> 
> at com.dremio.exec.store.jdbc.JdbcStoragePlugin.getState(JdbcStoragePlugin.java:360) ~[dremio-ce-jdbc-plugin-4.1.4-202001240912140359-a90eb503.jar:4.1.4-202001240912140359-a90eb503]
> 
> at com.dremio.exec.catalog.ManagedStoragePlugin.setLocals(ManagedStoragePlugin.java:723) [dremio-sabot-kernel-4.1.4-202001240912140359-a90eb503.jar:4.1.4-202001240912140359-a90eb503]
> 
> at com.dremio.exec.catalog.ManagedStoragePlugin.replacePlugin(ManagedStoragePlugin.java:836) [dremio-sabot-kernel-4.1.4-202001240912140359-a90eb503.jar:4.1.4-202001240912140359-a90eb503]
> 
> at com.dremio.exec.catalog.ManagedStoragePlugin.createOrUpdateSource(ManagedStoragePlugin.java:

You should be able to remove the entire Database reference. In [https://github.com/dremio-hub/dremio-sqllite-connector/blob/master/src/main/java/com/dremio/exec/store/jdbc/conf/SqliteConf.java](https://github.com/dremio-hub/dremio-sqllite-connector/blob/master/src/main/java/com/dremio/exec/store/jdbc/conf/SqliteConf.java),

1. remove lines 45-48
2. change line 50 to @tag(1)
3. remove line 57-
4. change line 59 to return String.format(“jdbc:sqlite:%s”);

If that does not work, can you post your Conf.java?

---

<div class="post-metadata">

**Author:** ![popejune](https://avatars.discourse-cdn.com/v4/letter/p/8dc957/32.png) [@popejune](https://community.dremio.com/u/popejune)\
**Post date:** [September 9, 2020, 9:29am UTC](https://community.dremio.com/t/dremio-arp-drill-connector-issue/5749/3 "2020-09-09T09:29:37Z")

</div>

hi @b-rock,

I encountered the same issue. I added a UT case, it could connect. But if I put the jar to server, it report this error. Do you have any idea where to check?
