DS Aggregate Method Error

Hello,

I’m following the December 2020 R Markdown with the use of my own servers. Everything seems to be working fine(with the same code through “connections ← DSI::datashield.login(logins = logindata, assign = TRUE)” ) until I try to run a method (ie. ds.colnames) I am getting:

"“Command ‘exists(“D”)’ failed on ‘opal_server_1’: No such DataSHIELD ‘AGGREGATE’ method with name: exists”

I ran devtools:session info and the required packages DSI, DSOpal, dsBaseClient and opalr are listed. I’d like advice on how else to troubleshoot this?

Thanks

1 Like

Hi, could please indicate which version of dsBaseClient, dsBase and Opal you are using.

Thanks,

Stuart

I’m using opalr 3.0.0, DSOpal 1.3.0, dsBaseClient 6.1.1.

In the case that I was supposed to define aggregate methods elsewhere, it might be worth mentioning I made a custom docker-compose file based on the documentation that didn’t specify anything about methods

Hi,

Your datashield environment is probably not configured, i.e. allowed methods are not declared. You need to ‘initialize’ it.

See documentation: https://opaldoc.obiba.org/en/latest/web-user-guide/administration/datashield.html

Regards Yannick

1 Like

If you have setup the runtime with docker-compose, make sure to use the R server image that contains the dsBase package: use datashield/rock-base instead of obiba/rock.

Yannick

My docker compose file looks almost identical to: Installation — Opal documentation (with exception of my custom image name and changing the rock image at the bottom to what you suggested), and it isn’t working. Is there an additional configuration step past this? I’m noticing when I log into the opal web interface, one server says that the DS profile is ready for use but when I log into my other one it says “The R server cluster associated to this profile is missing: default”.

Hi,

Does your R server belong to the “default” cluster?

Could you share your docker-compose file and your datashield login script? Otherwise it is difficult to tell what is wrong.

Regards Yannick

Yes it belongs to the default cluster.

Docker compose for server:

Rscript for DataSHIELD login: