prashant-r / Scalaris

DHT Chord Transaction
Apache License 2.0
0 stars 0 forks source link

getting Erlang message: {badrpc,{'EXIT',{undef,[{transaction_api,single_write,["2","4"]},{rpc,'-handle_call_call/6-fun-0-',5}]}}} #76

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1.Start Scalaris using sudo scalarisctl restart -f
2. run " java de.zib.scalaris.Main -w 2 4 -v "from java-api

What is the expected output? What do you see instead?
ERROR MESSAGE: write failed with unknown:
de.zib.scalaris.UnknownException: Erlang message: 
{badrpc,{'EXIT',{undef,[{transaction_api,single_write,["2","4"]},{rpc,'-handle_c
all_call/6-fun-0-',5}]}}}
        at dehttp://code.google.com/p/scalaris/issues/entry.zib.scalaris.Scalaris.writeObject(Scalaris.java:414)
        at de.zib.scalaris.Scalaris.writeCustom(Scalaris.java:482)
        at de.zib.scalaris.Scalaris.write(Scalaris.java:456)
        at de.zib.scalaris.Main.main(Main.java:205)

What version of the product are you using? On what operating system?
I am using Scalaris with erlang 5.7.4 I am using Ubuntu 10.04 LTS

Original issue reported on code.google.com by subhojit...@gmail.com on 12 Dec 2011 at 5:59

GoogleCodeExporter commented 8 years ago
Looks like you are using an old Java API with a newer Scalaris. We have changed 
some APIs for 0.3.0 compared to previous releases.

Can you tell me which version of Scalaris you are using?
For svn trunk: which revision?
For rpm/deb packages: which packages and which versions?

Please also verify that the correct version is started in case you have 
multiple versions installed.

Original comment by nico.kru...@googlemail.com on 12 Dec 2011 at 8:23

GoogleCodeExporter commented 8 years ago
I am using scalaris-0.3.0 by unpacking scalaris_0.3.0.orig.tar.gz downloaded 
from http://download.opensuse.org/repositories/home:/scalaris/xUbuntu_10.04/.
 I dont have multiple versions.

I am currently getting the following error. 

java de.zib.scalaris.Main -w "rt" "4" -v
ConnectionFactory properties:
  config file                =
  scalaris.node              = [node1@domU-12-31-39-02-7E-DC.compute-1.internal]
  scalaris.cookie            = chocolate chip cookie
  scalaris.client.name       = java_client
  scalaris.client.appendUUID = true
write failed with unknown:
de.zib.scalaris.UnknownException: Erlang message: 
{badrpc,{'EXIT',{badarg,[{comm,send_local,2},{rdht_tx_read,work_phase,3},{rdht_t
x_write,work_phase,3},{rdht_tx,'-initiate_rdht_ops/1-lc$^0/1-0-',1},{rdht_tx,req
_list,2},{rdht_tx,req_list,2},{api_tx,req_list,2},{api_tx,write,2}]}}}
        at de.zib.scalaris.CommonErlangObjects.processResult_commit(CommonErlangObjects.java:159)
        at de.zib.scalaris.TransactionSingleOp.write(TransactionSingleOp.java:369)
        at de.zib.scalaris.TransactionSingleOp.write(TransactionSingleOp.java:399)
        at de.zib.scalaris.Main.main(Main.java:138)

Original comment by subhojit...@gmail.com on 13 Dec 2011 at 12:14

GoogleCodeExporter commented 8 years ago
I should have seen this earlier, but "scalarisctl restart -f" is not enough to 
start scalaris as this will only start an empty erlang shell with some basic 
services but _NO_ Scalaris node in it.

Use e.g. "scalarisctl restart -f -s".
For a complete list of options, refer to "scalarisctl -h".

If this did not help, consider the following:

Did you just extracted it and then "./configure && make"?
Or did you also install it with "make install"?
Please also check for any error messages during make (warnings should be ok; 
they are mostly in third party libraries).

Please also run "scalarisctl checkinstallation" (either from ./bin or from 
where you installed it to).

Original comment by nico.kru...@googlemail.com on 14 Dec 2011 at 5:49

GoogleCodeExporter commented 8 years ago
I tried scalarisctl checkinstallation and got: 

INFO: could not find Scalaris' Java-API files. You won't be able to use the 
'scalaris' command line script to access Scalaris.
  'make java' will build the Java-API
We were trying to run: /usr/bin/scalaris
 Yes I also did ./configure and make and got:

configure: arity() is available
{"init terminating in 
do_boot",{undef,[{httpc,set_option,[max_sessions,1]},{init,start_it,1},{init,sta
rt_em,1}]}}
configure: httpc unavailable, using wrapper module
checking for /usr/share/java-utils/java-functions... no
configure: WARNING: java-functions was not found in 
"/usr/share/java-utils/java-functions" (java-api/scalaris may fail)
checking for build-classpath... no
configure: WARNING: build-classpath was not found in "" or is not executable 
(java-api/scalaris may fail)

Original comment by subhojit...@gmail.com on 15 Dec 2011 at 12:00

GoogleCodeExporter commented 8 years ago
did you try your test again starting scalaris with the following command?

scalarisctl restart -f -s

this is the most likely cause of the last error you reported.

And since you did not start the Java-API through our command line wrapper, the 
warnings from checkinstallation and configure do not apply to you.
(we use the two tools to build the class path in our scalaris command line 
wrapper - if they are not available, paths may be wrong)

Original comment by nico.kru...@googlemail.com on 15 Dec 2011 at 9:44

GoogleCodeExporter commented 8 years ago
Hi,

I tried scalarisctl restart -f -s. There was no error as before. But
running  scalarisctl  checkinstallation gave:

INFO: could not find Scalaris' Java-API files. You won't be able to
use the 'scalaris' command line script to access Scalaris.
  'make java' will build the Java-API

And as before, /java-api/scalaris -w "rt" "4" -v gives

ConnectionFactory properties:
  config file                =
  scalaris.node              = [node1@domU-12-31-39-02-7E-DC.compute-1.internal]
  scalaris.cookie            = chocolate chip cookie
  scalaris.client.name       = java_client
  scalaris.client.appendUUID = true
write failed with unknown:
de.zib.scalaris.UnknownException: Erlang message:
{badrpc,{'EXIT',{badarg,[{comm,send_local,2},{rdht_tx_read,work_phase,3},{rdht_t
x_write,work_phase,3},{rdht_tx,'-initiate_rdht_ops/1-lc$^0/1-0-',1},{rdht_tx,req
_list,2},{rdht_tx,req_list,2},{api_tx,req_list,2},{api_tx,write,2}]}}}
        at de.zib.scalaris.CommonErlangObjects.processResult_commit(CommonErlangObjects.java:159)
        at de.zib.scalaris.TransactionSingleOp.write(TransactionSingleOp.java:369)
        at de.zib.scalaris.TransactionSingleOp.write(TransactionSingleOp.java:399)
        at de.zib.scalaris.Main.main(Main.java:138)

Original comment by subhojit...@gmail.com on 15 Dec 2011 at 9:54

GoogleCodeExporter commented 8 years ago
Hi,

I tried scalarisctl restart -f -s. There was no error as before. But running  
scalarisctl  checkinstallation gave:
INFO: could not find Scalaris' Java-API files. You won't be able to use the 
'scalaris' command line script to access Scalaris.
  'make java' will build the Java-API

And as before, /java-api/scalaris -w "rt" "4" -v gives
ConnectionFactory properties:
  config file                =
  scalaris.node              = [node1@domU-12-31-39-02-7E-DC.compute-1.internal]
  scalaris.cookie            = chocolate chip cookie
  scalaris.client.name       = java_client
  scalaris.client.appendUUID = true
write failed with unknown:
de.zib.scalaris.UnknownException: Erlang message: 
{badrpc,{'EXIT',{badarg,[{comm,send_local,2},{rdht_tx_read,work_phase,3},{rdht_t
x_write,work_phase,3},{rdht_tx,'-initiate_rdht_ops/1-lc$^0/1-0-',1},{rdht_tx,req
_list,2},{rdht_tx,req_list,2},{api_tx,req_list,2},{api_tx,write,2}]}}}
        at de.zib.scalaris.CommonErlangObjects.processResult_commit(CommonErlangObjects.java:159)
        at de.zib.scalaris.TransactionSingleOp.write(TransactionSingleOp.java:369)
        at de.zib.scalaris.TransactionSingleOp.write(TransactionSingleOp.java:399)
        at de.zib.scalaris.Main.main(Main.java:138)

Original comment by subhojit...@gmail.com on 15 Dec 2011 at 9:55

GoogleCodeExporter commented 8 years ago
oh, sorry, please start with

scalarisctl -f -s restart

unfortunately, scalarisctl is not that flexible regarding the order of its 
commands (it specifically requires the format and order mentioned by 
"scalarisctl -h").

btw: if you run into any problems, you can always check in our web debug 
interface whether something went wrong, e.g. in this case, 
http://localhost:8000/ring.yaws shows an empty ring.

Original comment by nico.kru...@googlemail.com on 15 Dec 2011 at 10:02

GoogleCodeExporter commented 8 years ago
FYI: regarding "scalarisctl checkinstallation" complaining about missing 
Java-API files, this has been fixed in svn trunk - after installing all 
dependencies (erlang, jdk, ant) try this:

svn checkout http://scalaris.googlecode.com/svn/trunk/ scalaris
cd scalaris
./configure --prefix=$HOME/temp
make && make java
make install && make install-java
cd ..
$HOME/temp/bin/scalarisctl checkinstallation

Original comment by nico.kru...@googlemail.com on 15 Dec 2011 at 11:43

GoogleCodeExporter commented 8 years ago
When Starting scalaris using "sudo scalarisctl -f -s restart " I am getting 
following:

(node1@master)1> [warn] [ CC ] Cannot accept msg for unknown named process 
mgmt_server: {connect}

[warn] [ CC ] Cannot locally send msg to unknown named process mgmt_server: 
{send_to_group_member,service_per_vm,{hi}}

[warn] dht_node Connection failed, drop message 
{send_to_group_member,service_per_vm,{hi}}
[warn] "to > 127.0.0.1:14196" Connection failed, drop message 
{send_to_group_member,service_per_vm,{hi}}
[warn] "to > 127.0.0.1:14197" Connection failed, drop message 
{send_to_group_member,service_per_vm,{hi}}
[warn] "to > 127.0.0.1:14198" Connection failed, drop message 
{send_to_group_member,service_per_vm,{hi}}
[warn] [ CC ] Cannot locally send msg to unknown named process mgmt_server: 
{register,{{10,248,129,38},14195,<0.116.0>}}

[warn] dht_node_reregister Connection failed, drop message 
{register,{{10,248,129,38},14195,<0.116.0>}}

My scalaris.local.cfg is :

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Settings for distributed Erlang
% (see cs_send.erl to switch)

% {boot_host, {boot,'boot@foo.bar.com'}}.
% {log_host, {boot_logger, 'boot@foo.bar.com'}}.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Settings for TCP mode.
% (see cs_send.erl to switch)

% Insert the appropriate IP-addresses for your setup
% as comma separated integers:
% IP Address, Port, and label of the boot server
{boot_host, {{10,248,129,38},14195,node1}}.

% IP Address, Port, and label of the log server
{log_host, {{127,0,0,1},14195,boot_logger}}.

and scalaris.cfg is:

{mgmt_server, {{10,248,129,38},14195,mgmt_server}}.
{known_hosts, [{{10,248,129,38},14195, service_per_vm}, {{127,0,0,1},14196, 
service_per_vm},
               {{127,0,0,1},14197, service_per_vm}, {{127,0,0,1},14198, service_per_vm}]}.

Original comment by subhojit...@gmail.com on 20 Dec 2011 at 1:20

GoogleCodeExporter commented 8 years ago
First of all: your scalaris should be running fine - those warnings are 
harmless. Check with the web debug interface at http://127.0.0.1:8000

Note: you are not supposed to change scalaris.cfg. Make your changes to 
scalaris.local.cfg and you will be fine as those values override the other ones.

Your scalaris.local.cfg seems a bit outdated though, e.g. it is "mgmt_server" 
instead of "boot_host" now. Just place the two lines from your scalaris.cfg 
into scalaris.local.cfg.

This aside, if you do not start a management server (-m), then you should set 
mgmt_server to e.g. 'none' which will eliminate the first two and the last 
warning.
The other warnings come from the fact that you provided a list of known_hosts 
but three of them were not available at the time of the node startup. Since you 
are starting the first node, simply ignore them.
You should have at least one known host of mgmt server available.

btw: this is an issue tracker, your last message and future ones are probably 
better off in our mailing list at http://groups.google.com/group/scalaris

Original comment by nico.kru...@googlemail.com on 20 Dec 2011 at 5:49