Hi Luke,
On Fri, Jan 2, 2009 at 10:46 PM, Luke <[email protected]> wrote:
[...]
>> I have traced this bug to be linked to the ThriftBroker.Port setting
>> in the configuration file. The default ThriftBroker.Port value is
>> already occupied on my computer. Instead of seeing bind() failure
>> errors, or something along these lines it presents the negative frame
>> size error message which I believe is misleading, but AFAIK this is
>> Thrift's issue from now on, not the broker issue.
>
> Ah, this makes sense. Thanks for tracking it down. The startup script
> actually tries to use serverup first tries to connect to ThriftBroker
> at a given port, before it actually start the broker. I guess I can
> try to catch the transport exception and print some more informative
> message like "incompatible server found at <port>".
>
Here's also one other thing worth mentioning,
bash-3.2# /opt/hypertable/0.9.1.1/bin/start-dfsbroker.sh local
Successfully started DFSBroker (local)
bash-3.2# /opt/hypertable/0.9.1.1/bin/clean-database.sh
bash-3.2# /opt/hypertable/0.9.1.1/bin/stop-servers.sh
bash-3.2# /opt/hypertable/0.9.1.1/bin/start-all-servers.sh local
Successfully started DFSBroker (local)
Successfully started Hyperspace
Successfully started Hypertable.Master
Successfully started Hypertable.RangeServer
Successfully started ThriftBroker
bash-3.2# pwd
/Users/m/work/build/hypertable
bash-3.2# make test
Running tests...
Start processing tests
Test project /Users/m/work/build/hypertable
1/ 36 Testing Common-Exception Passed
2/ 36 Testing Common-Logging Passed
3/ 36 Testing Common-Serialization Passed
4/ 36 Testing Common-ScopeGuard Passed
5/ 36 Testing Common-InetAddr Passed
6/ 36 Testing Common-PageArena Passed
7/ 36 Testing HyperComm Passed
8/ 36 Testing HyperComm-datagram Passed
9/ 36 Testing HyperComm-timeout Passed
10/ 36 Testing HyperComm-timer Passed
11/ 36 Testing HyperComm-reverse-request Passed
12/ 36 Testing BerkeleyDbFilesystem Passed
13/ 36 Testing FileBlockCache Passed
14/ 36 Testing CellStoreScanner Passed
15/ 36 Testing Schema Passed
16/ 36 Testing LocationCache Passed
17/ 36 Testing LoadDataSource Passed
18/ 36 Testing BlockCompressor-BMZ Passed
19/ 36 Testing BlockCompressor-LZO Passed
20/ 36 Testing BlockCompressor-NONE Passed
21/ 36 Testing BlockCompressor-QUICKLZ Passed
22/ 36 Testing BlockCompressor-ZLIB Passed
23/ 36 Testing CommitLog Passed
24/ 36 Testing Escape Passed
25/ 36 Testing LargeInsert Passed
26/ 36 Testing MetaLog-Master ***Exception: Other
27/ 36 Testing MetaLog-RangeServer Passed
28/ 36 Testing HyperDfsBroker Passed
29/ 36 Testing Hyperspace Passed
30/ 36 Testing hypertable Passed
31/ 36 Testing RangeServer Passed
32/ 36 Testing ThriftClient-cpp Passed
33/ 36 Testing ThriftClient-ruby ***Failed
34/ 36 Testing ThriftClient-perl ***Failed
35/ 36 Testing ThriftClient-python ***Failed
36/ 36 Testing ThriftClient-java ***Failed
The failed tests are false positives, as they do pass actually (except
for Java client but I'll inspect this closer later) when invoked
manually, but somehow fail when executing as tests with following
information
Changing directory into: /Users/m/work/build/hypertable/src/rb/ThriftClient
33/36 Testing: ThriftClient-ruby
33/36 Test: ThriftClient-ruby
Command: "/Users/m/work/hypertable/src/rb/ThriftClient/client_test.rb"
Directory: /Users/m/work/build/hypertable/src/rb/ThriftClient
"ThriftClient-ruby" start time: Jan 02 23:08 CET
Output:
----------------------------------------------------------
/usr/local/lib/ruby/site_ruby/1.8/thrift/transport/socket.rb:94:in
`read': end of file reached (Thrift::TransportException)
from /usr/local/lib/ruby/site_ruby/1.8/thrift/transport.rb:44:in
`read_all'
from /usr/local/lib/ruby/site_ruby/1.8/thrift/transport.rb:216:in
`read_frame'
from /usr/local/lib/ruby/site_ruby/1.8/thrift/transport.rb:203:in
`borrow'
from /usr/local/lib/ruby/site_ruby/1.8/thrift/client.rb:26:in
`read_message_begin'
from /usr/local/lib/ruby/site_ruby/1.8/thrift/client.rb:26:in
`receive_message'
from
/Users/m/work/hypertable/src/rb/ThriftClient/hypertable/gen-rb/HqlService.rb:28:in
`recv_hql_exec'
from
/Users/m/work/hypertable/src/rb/ThriftClient/hypertable/gen-rb/HqlService.rb:20:in
`hql_exec'
from
/Users/m/work/hypertable/src/rb/ThriftClient/hypertable/thriftclient.rb:30:in
`hql_query'
from /Users/m/work/hypertable/src/rb/ThriftClient/client_test.rb:7
----------------------------------------------------------
"ThriftClient-ruby" end time: Jan 02 23:08 CET
"ThriftClient-ruby" time elapsed: 00:00:03
----------------------------------------------------------
34/36 Testing: ThriftClient-perl
34/36 Test: ThriftClient-perl
Command: "/usr/bin/perl" "-I"
"/Users/m/work/hypertable/src/perl/ThriftClient" "-I"
"/Users/m/work/hypertable/src/perl/ThriftClient/gen-perl"
"/Users/m/work/hypertable/src
/perl/ThriftClient/client_test.pl"
Directory: /Users/m/work/build/hypertable/src/perl/ThriftClient
"ThriftClient-perl" start time: Jan 02 23:08 CET
Output:
----------------------------------------------------------
Thrift::TException=HASH(0x889cd8)----------------------------------------------------------
"ThriftClient-perl" end time: Jan 02 23:08 CET
"ThriftClient-perl" time elapsed: 00:00:00
----------------------------------------------------------
35/36 Testing: ThriftClient-python
35/36 Test: ThriftClient-python
Command: "/usr/bin/env"
"PYTHONPATH=/Users/m/work/hypertable/src/py/ThriftClient:/Users/m/work/hypertable/src/py/ThriftClient/gen-py"
"python" "/Users/m/work/hypertable/sr
c/py/ThriftClient/client_test.py"
Directory: /Users/m/work/build/hypertable/src/py/ThriftClient
"ThriftClient-python" start time: Jan 02 23:08 CET
Output:
----------------------------------------------------------
Traceback (most recent call last):
File "/Users/m/work/hypertable/src/py/ThriftClient/client_test.py",
line 3, in <module>
client = ThriftClient("localhost", 12345)
File
"/Users/m/work/hypertable/src/py/ThriftClient/hypertable/thriftclient.py",
line 16, in __init__
self.open(timeout_ms)
File
"/Users/m/work/hypertable/src/py/ThriftClient/hypertable/thriftclient.py",
line 19, in open
self.transport.open()
File "/Library/Python/2.5/site-packages/thrift/transport/TTransport.py",
line 250, in open
return self.__trans.open()
File "/Library/Python/2.5/site-packages/thrift/transport/TSocket.py",
line 76, in open
raise TTransportException(TTransportException.NOT_OPEN, message)
thrift.transport.TTransport.TTransportException: Could not connect to
localhost:12345
The java one is different though
36/36 Testing: ThriftClient-java
36/36 Test: ThriftClient-java
Command: "/usr/bin/env" "java" "-cp"
"/Users/m/work/build/hypertable/java/hypertable-0.9.1.1.jar:/usr/local/lib/libthrift.jar"
"org.hypertable.ThriftClient.BasicClientTest
"
Directory: /Users/m/work/build/hypertable/src/java/ThriftClient
"ThriftClient-java" start time: Jan 02 23:08 CET
Output:
----------------------------------------------------------
Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad
version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:675)
at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:316)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
And this one I keep hitting on pretty often, but not always!
26/36 Testing: MetaLog-Master
26/36 Test: MetaLog-Master
Command:
"/Users/m/work/build/hypertable/src/cc/Hypertable/Lib/metalog_master_test"
Directory: /Users/m/work/build/hypertable/src/cc/Hypertable/Lib
"MetaLog-Master" start time: Jan 02 23:07 CET
Output:
----------------------------------------------------------
pure virtual method called
terminate called without an active exception
pure virtual method called
terminate called recursively
----------------------------------------------------------
"MetaLog-Master" end time: Jan 02 23:07 CET
"MetaLog-Master" time elapsed: 00:00:02
----------------------------------------------------------
Mateusz
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Hypertable Development" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/hypertable-dev?hl=en
-~----------~----~----~----~------~----~------~--~---