i have an existing cassandra instance on my machine, it came with brisk and
lives in /usr/share/brisk/cassandra. it also created /usr/share/cassandra/
cassandra.in.sh

now i wanted to run another instance of cassandra (i needed a 0.7 version
for compatibility reasons), so i downloaded it from apache cassandra website
and installed it in /usr/share/cassandra-0.7

my problem is that the scripts for my cassandra 0.7 instance don't work
properly. the problem lies in the code snippets below. when i run the
scripts they source /usr/share/cassandra/cassandra.in.sh, which has the
wrong settings (it now loads all the jars from
/usr/share/brisk/cassandra/lib). i know i can fix it by settings
CASSANDRA_INCLUDE but i think thats not a very nice solution.

why was the decision made that the central "casssandra.in.sh" should have
higher priority than the local one? doesn't that break local installs?
wouldnt it make more sense if scripts assumed they were in SOMEDIR/bin and
then tried to load casssandra.in.sh from SOMEDIR first with the highest
priority?

best, koert


code snippet:
if [ "x$CASSANDRA_INCLUDE" = "x" ]; then
    # Locations (in order) to use when searching for an include file.
    for include in /usr/share/cassandra/cassandra.in.sh \
                   /usr/local/share/cassandra/cassandra.in.sh \
                   /opt/cassandra/cassandra.in.sh \
                   ~/.cassandra.in.sh \
                   `dirname $0`/cassandra.in.sh; do
        if [ -r $include ]; then
            . $include
            break
        fi
    done

Reply via email to