Invalid protocol version: 17735


#1

Hi Experts,
I was trying to connect to SciDB within R but get an error message:

> library ("scidb")
Loading required package: iterators
> scidbconnect (host = "localhost", port = 1239L)
Error in scidbquery(query = "list()", release = 1, resp = TRUE) : 
  SciDB http session error; are you connecting to a valid SciDB host?
[/code]  SciDB http session error; are you connecting to a valid SciDB host?

On the server side the log shows:
[code]2013-04-08 16:45:26,134 [0x7f3bd71e9840] [DEBUG]: Connection started from CLIENT (127.0.0.1)
2013-04-08 16:45:26,134 [0x7f3bd71e9840] [ERROR]: Invalid protocol version: 17735
2013-04-08 16:45:26,135 [0x7f3bd71e9840] [ERROR]: Network error in handleReadMessage: unknown message, closing connection
2013-04-08 16:45:26,135 [0x7f3bd71e9840] [DEBUG]: Disconnected

I can use iquery to query the same SciDB instance:

[code]$ iquery -o lcsv+ -aq "list(‘arrays’)"
No,name,id,schema,availability

[/code]I’m using an RHEL6.3 64-bit on EC2.

Am I doing anything wrong?

Thanks


#2

Hello,

May I ask how you installed the shim program? From source or from the RPM package?

Thanks,

Bryan


#3

On closer inspection I see the problem - the port is SciDB, not the web service called “shim” required by the scidb R package.

The scidb R package does not talk directly to SciDB. Instead, it uses a very simple web service I wrote called “shim” that runs on the same computer as the SciDB coordinator, normally on port 8080. It’s available from: github.com/Paradigm4/shim (page down for a detailed README file).

The main reason for this middle layer instead of directly using the protobufs protocol was to simplify uploading data into SciDB from remote clients. As a side benefit, shim also provides a simple web client interface to SciDB (also on port 8080).


#4

I got the same error which running the sample program from the User Guide. But I guess I have a simpler question. Am I correct in assuming that SciDB is not a cloud database and that in order to utilize from R, you need to have a SciDB instance running somewhere, and further that instance must be scalable in terms of hardware in order to do all the nice things touted in the marketing blurbs? If so, I think what’s needed is a “How To Guide” for R programmers that will instruct on how to be productive with SciDB … remembering that R programmers are typically scientists who are NOT sys admins.

Thanks!