Running 13.3 and 13.6 side-by-side


#1

For the next two weeks I am constrained to run 13.3 and play with 13.6 side by side.
13.3 is working fine now.

I assume that I need to change the base-port of the 13.6 config.ini to something different from 1239, where all of the 13.3 based activity is. Say 1338 (to make lots of room for the base+n ports for the serve nodes) should work

I also have a different database name and a different base-path distinct from the one sued by 13.3

Any other stuff I overlooked?

Thanks, George


#2

Hi George,

Yes let’s make sure we go through the list and highlight all the lines that need to be different:

[config_name] #make sure this is different
...
#pg credentials
db_user=user     #may help to make this a different PG user and password 
db_passwd=password

#these lines obviously need to be different
install_root=/opt/scidb/13.6      
base-port=1239 #exactly as you said
base-path=/datadisk1/DB-SingleInstance 

#these two are minor
pluginsdir=/opt/scidb/13.6/lib/scidb/plugins     
logconf=/opt/scidb/13.6/share/scidb/log4cxx.properties
...

#3

Thanks, Alex
So I gave this config.ini a new db_user and new db_passwd, but am not sure if I should init_syscat again?
I am no postgres admin, so I am “afraid” to do anything that might hurt the running stable 13.3 SciDB…
scidb.py initall asked me if I wanted to initialize it, to which I said "yes"
scidb.log had "Cannot connect to PosrgeSQL catalog:
FATAL: password authentication failed for user “…”


#4

I found a test machine and did :

as user postges, scidb.py init_syscat dbname
and as user scidb the initall followed by startall, seems to work
I just need remember to use the other port number for iquery, yes?

George


#5

Yes, seems good. You can alias the iquery port or use the ~/.config/scidb/iquery.conf file.


#6

Seems to work (HAPPY!) ,

I really need to remember to use iquery -p when I am in the “alternate” SciDB version universe.
I almost wiped out an (expensive) array from the stable operational database.
The hope was that iquery, since it lives in opt/scidb/$SCIDB_VER/, would use the base-port from the proper config.ini.
It does not. The default is always 1239. Please make this warning part of the user’s guide as a HUGE CAVEAT to SciDB users who need to juggle multiple versions. Currently the only thing in section 2.2.4 is:

May I suggest for the next release of the user guide, please insert some text relating to today’s experience?
George


#7

Understood. Part of the problem is that, depending on the install, iquery may not even live next to a scidb installation - i.e. what if iquery is launched from some other machine? How would it know which config file to look at.

Might want to use some shell-tricks however:

  • put some fake “iquery” shell script ahead of “/opt/scidb/…/iquery” in PATH and shadow the command; make this fake script just output a silly string like “don’t use me”
  • create two scripts “iquery_old” that specifically calls /opt/scidb/13.3/bin/iquery with the right port - and analogously “iquery_new”
  • so force yourself to use either “old” or “new”

We will definitely fix the doc though!


#8

Yes, indeed. Good point (remote launched iquery, port numbers…)
Perhaps the solution would be that if the operational iquery lives in /opt/scidb/$SCIDB_VER/bin, then it could be self-aware enough to look at …/etc/config.ini
If exists, grab the port number from there, else fallback to universal default 1239.
But please don’t waste time on this, just rambling.

Shell wrapper functions and aliases is how I do everything anyway…

My .bashrc is now the single largest text file in my $HOME :smile:
I’ll open a new thread, we still have MPI and boost issues with 13.6 when compiled from sources…

Cheers, George