PB problems with 1.0.0 (and now 1.1.1)

Peter Fales Peter.Fales at alcatel-lucent.com
Thu Apr 12 11:32:16 EDT 2012


Thanks for your  help.

Obviously, I'm sort of stumbling around here, and I didn't realize
that there was a dependency on protobuffs within erlang.  I'm 
running on a CentOS6 system (i.e basically RHEL 6.2) and when I
run 

	code:which(protobuffs).
I get
	non_existing


After I ran "yum install erlang-protobuffs", I  now get:

	"/usr/lib/erlang/lib/protobuffs-0/ebin/protobuffs.beam"


That sounded promising, but even after "make distclean" and "make rel"
the file "./rel/riak/lib/protobuffs-0/ebin/protobuffs.beam" is still
the smaller size and does not include the symbol next_field_num

The thing I don't understand is that this file (which was removed
by "make distclean") was re-created with a month-old (March 11) 
timestamp by "make rel".   FWIW, deps/protobuffs/ebin/protobuffs.beam
was rebuilt with today's timestamp and includes the symbol.  ???

On Thu, Apr 12, 2012 at 10:22:19AM -0400, Ryan Zezeski wrote:
> Peter,
> 
> This seems to be an issue with the release build and your environment.  I
> think the `protobuffs-0` means it couldn't discover the PB version number.
>  I wonder if you have some other version of protobuffs installed in your
> Erlang VM?  E.g. I notice that
> https://github.com/ngerakines/erlang_protobuffs/blob/master/src/protobuffs.er
> does not define `next_field_num`.  What is the output if you start up
> a
> fresh erl shell and run `code:which(protobuffs).`?
> 
> -Z
> 
> On Mon, Apr 9, 2012 at 2:26 PM, Peter Fales
> <Peter.Fales at alcatel-lucent.com>wrote:
> 
> > Following up on this issue from last October which bit me again with
> > 1.1.1.   Does anyone know why my deps/protobuffs/ebin/protobuffs.beam
> > includes the function next_field_num function, but my
> > rel/riak/lib/protobuffs-0/ebin/protobuffs.beam (and
> > dev/dev*/riak/lib/protobuffs-0/ebin/protobuffs.beam) are smaller
> > and do not include the next_field_num function?
> >
> >
> > On Thu, Oct 13, 2011 at 04:18:12PM -0500, Peter Fales wrote:
> > > Thanks for the mail, though I thought I was using the latest client.  The
> > > client_lib/README file points to
> > https://bitbucket.org/basho/riak-python-client
> > > and from there I ran the suggested command
> > > (hg clone https://bitbucket.org/basho/riak-python-client)
> > > to get the code.
> > >
> > > However, I found at least part of the problem, though I still don't quite
> > > understand the root cause.   In my riak-1.0.0 build directory,
> > > ./deps/protobuffs/ebin/protobuffs.beam is 12692 and includes the string
> > > next_field_num.   However,
> > ./rel/riak/lib/protobuffs-0/ebin/protobuffs.beam
> > > is only 7536 and does not include that string.   It appears that
> > > the "rel" version is being built without the full protobuf code.
> > >
> > > When I run the server using the larger "deps" version, my test client
> > works.
> > >
> > >
> > > On Thu, Oct 13, 2011 at 05:08:00PM -0400, Reid Draper wrote:
> > > > It looks like you're using version 1.2.2 of the client. I suggest
> > trying
> > > > 1.3.0 or the master branch from github.
> > > >
> > > > On Thu, Oct 13, 2011 at 3:37 PM, Peter Fales <
> > Peter.Fales at alcatel-lucent.com
> > > > > wrote:
> > > >
> > > > > Trying to upgrade from 0.14.1 to 1.0.0...
> > > > >
> > > > > This python program works with 0.14.1:
> > > > >
> > > > > ====================================================================
> > > > >  import riak
> > > > >  client = riak.RiakClient(port=XXXX, host="YYYY.ZZZZ",
> > > > > transport_class=riak.RiakPbcTransport)
> > > > >  test_bucket = client.bucket('test')
> > > > >  x=test_bucket.new('0-0-0','hello6')
> > > > >  x.store()
> > > > > ====================================================================
> > > > > However, with the server running 1.0.0, I get:
> > > > >
> > > > > ====================================================================
> > > > > Traceback (most recent call last):
> > > > >  File "./bench/client.py", line 6, in <module>
> > > > >    x.store()
> > > > >  File
> > > > >
> > "/usr/lib/python2.7/site-packages/riak-1.2.2-py2.7.egg/riak/riak_object.py",
> > > > > line 296, in store
> > > > >    Result = t.put(self, w, dw, return_body)
> > > > >  File
> > > > >
> > "/usr/lib/python2.7/site-packages/riak-1.2.2-py2.7.egg/riak/transports/pbc.py",
> > > > > line 188, in put
> > > > >    msg_code, resp = self.recv_msg()
> > > > >  File
> > > > >
> > "/usr/lib/python2.7/site-packages/riak-1.2.2-py2.7.egg/riak/transports/pbc.py",
> > > > > line 357, in recv_msg
> > > > >    self.recv_pkt()
> > > > >  File
> > > > >
> > "/usr/lib/python2.7/site-packages/riak-1.2.2-py2.7.egg/riak/transports/pbc.py",
> > > > > line 401, in recv_pkt
> > > > >    format(nmsglen))
> > > > > riak.RiakError: 'Socket returned short packet length  - expected 4'
> > > > > ====================================================================
> > > > >
> > > > > When this happens, console.logg gets:
> > > > >
> > > > > 2011-10-13 15:52:41.920 [error] <0.17823.0> CRASH REPORT Process
> > > > > <0.17823.0> with 0 neighbours crashed with reason: call to undefined
> > > > > function
> > > > >
> > protobuffs:next_field_num(<<10,4,116,101,115,116,18,5,48,45,48,45,48,34,28,10,8,34,104,101,108,108,111,54,34,18,16,97,112...>>)
> > > > >
> > > > >
> > > > > Both 0.14.1 and 1.0.0 work with the HTTP interface, but I want to use
> > > > > the PB interface.
> > > > >
> > > > > I suspect I'm just missing something simple, but I haven't been
> > puzzling
> > > > > over this for some time and haven't been able to find anything yet!
> > > > >
> > > > >
> > > > > --
> > > > > Peter Fales
> > > > > Alcatel-Lucent
> > > > > Member of Technical Staff
> > > > > 1960 Lucent Lane
> > > > > Room: 9H-505
> > > > > Naperville, IL 60566-7033
> > > > > Email: Peter.Fales at alcatel-lucent.com
> > > > > Phone: 630 979 8031
> > > > >
> > > > > _______________________________________________
> > > > > riak-users mailing list
> > > > > riak-users at lists.basho.com
> > > > > http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
> > > > >
> > >
> > > --
> > > Peter Fales
> > > Alcatel-Lucent
> > > Member of Technical Staff
> > > 1960 Lucent Lane
> > > Room: 9H-505
> > > Naperville, IL 60566-7033
> > > Email: Peter.Fales at alcatel-lucent.com
> > > Phone: 630 979 8031
> > >
> > > _______________________________________________
> > > riak-users mailing list
> > > riak-users at lists.basho.com
> > > http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
> >
> > --
> > Peter Fales
> > Alcatel-Lucent
> > Member of Technical Staff
> > 1960 Lucent Lane
> > Room: 9H-505
> > Naperville, IL 60566-7033
> > Email: Peter.Fales at alcatel-lucent.com
> > Phone: 630 979 8031
> >
> > _______________________________________________
> > riak-users mailing list
> > riak-users at lists.basho.com
> > http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
> >

-- 
Peter Fales
Alcatel-Lucent
Member of Technical Staff
1960 Lucent Lane
Room: 9H-505
Naperville, IL 60566-7033
Email: Peter.Fales at alcatel-lucent.com
Phone: 630 979 8031




More information about the riak-users mailing list