You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by jeff saremi <je...@hotmail.com> on 2017/01/13 17:53:10 UTC

HBase Thrift Client for C#: OutofMemoryException

I have cloned the latest thrift and hbase code. Used thrift generator to generate c# code from hbase-thrift\src\main\resources\org\apache\hadoop\hbase\thrift. Then created a single VS solution with the generated code, the thrift lib for c# (thrift\lib\csharp\src\Thrift.csproj) and i also added a DemoClient (hbase-examples) converted from c++ to c#. When I run that I keep getting OutofMemoryException with not a lot of other useful information. I have done the same process for C++ and the democlient code from hbase-examples runs with no issues at all.


here's the client code:

TTransport socket = new TSocket(args[0], Convert.ToInt32(args[1]));
TTransport transport = new TBufferedTransport((TStreamTransport)socket);
TProtocol protocol = new TBinaryProtocol(transport);
Hbase.Client client = new Hbase.Client(protocol);
List<byte[]> tables = client.getTableNames();

The last line is where the exception is thrown. thanks

Re: HBase Thrift Client for C#: OutofMemoryException

Posted by jeff saremi <je...@hotmail.com>.
here you go:

https://issues.apache.org/jira/browse/HBASE-17467


________________________________
From: Ted Yu <yu...@gmail.com>
Sent: Friday, January 13, 2017 4:02 PM
To: user@hbase.apache.org
Subject: Re: HBase Thrift Client for C#: OutofMemoryException

bq. i can create a pull request for them

That would be wonderful.

Please log a JIRA, polish the C# example and attach to the JIRA.

In hbase, we're not at the stage of reviewing / committing pull request yet.

On Fri, Jan 13, 2017 at 3:45 PM, jeff saremi <je...@hotmail.com> wrote:

> sorry Ted for wasting your time
>
> It happened that i was using the wrong port for this
>
> What a misleading error for an error so common! but that's Thrift
>
>
> On another note i now have converted the Democlient to from hbase-examples
> to C# and i have the generated files as well. If there's interest i can
> create a pull request for them
>
>
>
> ________________________________
> From: jeff saremi <je...@hotmail.com>
> Sent: Friday, January 13, 2017 2:11 PM
> To: user@hbase.apache.org
> Subject: Re: HBase Thrift Client for C#: OutofMemoryException
>
> Thanks Ted.
>
> I looked at this. We didn't know that a multipexing protocol existed until
> you mentioned it to us.
> We're using a stock thrift server that is shipped with hbase.
> If you perhaps point us to where we should be checking I'd be appreciative.
>
>
>
> ________________________________
> From: Ted Yu <yu...@gmail.com>
> Sent: Friday, January 13, 2017 1:34 PM
> To: user@hbase.apache.org
> Subject: Re: HBase Thrift Client for C#: OutofMemoryException
>
> I haven't touched C# for a decade.
>
> After a brief search, I found:
> http://stackoverflow.com/questions/17843749/apache-
[https://cdn.sstatic.net/Sites/stackoverflow/img/apple-touch-icon@2.png?v=73d79a89bded]<http://stackoverflow.com/questions/17843749/apache->

Apache Thrift Client Run time issues in c#<http://stackoverflow.com/questions/17843749/apache->
stackoverflow.com
I am working on a client - server application written in C# that is built using the Apache THRIFT RPC framework. We have created several IDL files (.thrift files) with service definitions. These


> thrift-client-run-time-issues-in-c-sharp
> [https://cdn.sstatic.net/Sites/stackoverflow/img/apple-touch-icon@2.png?v=
> 73d79a89bded]<http://stackoverflow.com/questions/
> 17843749/apache-thrift-client-run-time-issues-in-c-sharp>
>
> Apache Thrift Client Run time issues in c# - Stack Overflow<
> http://stackoverflow.com/questions/17843749/apache-
> thrift-client-run-time-issues-in-c-sharp>
> stackoverflow.com
> I am working on a client - server application written in C# that is built
> using the Apache THRIFT RPC framework. We have created several IDL files
> (.thrift ...
>
>
>
> Can you take a look at the answer to see if it is relevant ?
>
> Cheers
>
> On Fri, Jan 13, 2017 at 11:10 AM, jeff saremi <je...@hotmail.com>
> wrote:
>
> > The result is the same. OutofMemoryException.
> >
> > I again ran my C++ client to make sure nothing wierd is going on server
> > side.
> > I found the thrift compiler here: http://www-us.apache.org/dist/
> Index of /dist - Apache Software Foundation<http://www-us.apache.org/dist/
> >
> www-us.apache.org
> Apache Software Foundation Distribution Directory. The directories linked
> below contain current software releases from the Apache Software Foundation
> projects.
>
>
> Index of /dist - Apache Software Foundation<http://www-us.apache.org/dist/
> >
> Index of /dist - Apache Software Foundation<http://www-us.apache.org/dist/
> >
> www-us.apache.org
> Apache Software Foundation Distribution Directory. The directories linked
> below contain current software releases from the Apache Software Foundation
> projects.
>
>
> www-us.apache.org
> Apache Software Foundation Distribution Directory. The directories linked
> below contain current software releases from the Apache Software Foundation
> projects.
>
>
> > thrift/0.9.3/
> >
> > I regenerated all files and deleted all old ones.
> >
> > Here's a sample of a generated file for you to see that 0.9.3 is used:
> >
> >
> > /**
> >  * Autogenerated by Thrift Compiler (0.9.3)
> >  *
> >  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
> >  *  @generated
> >  */
> > using System;
> > using System.Collections;
> > using System.Collections.Generic;
> > using System.Text;
> > using System.IO;
> > using Thrift;
> > using Thrift.Collections;
> > using System.Runtime.Serialization;
> > using Thrift.Protocol;
> > using Thrift.Transport;
> >
> > public partial class Hbase {
> >   public interface Iface {
> >
> >
> >
> > ________________________________
> > From: jeff saremi <je...@hotmail.com>
> > Sent: Friday, January 13, 2017 10:39 AM
> > To: user@hbase.apache.org
> > Subject: Re: HBase Thrift Client for C#: OutofMemoryException
> >
> >
> > oh i see. sure i'll do that and report back.
> >
> >
> > ________________________________
> > From: Ted Yu <yu...@gmail.com>
> > Sent: Friday, January 13, 2017 10:32 AM
> > To: user@hbase.apache.org
> > Subject: Re: HBase Thrift Client for C#: OutofMemoryException
> >
> > I am not sure about compatibility between thrift 0.10.0 and 0.9.3
> >
> > Is it possible for you to locate 0.9.3 thrift compiler and try again ?
> >
> > On Fri, Jan 13, 2017 at 10:27 AM, jeff saremi <je...@hotmail.com>
> > wrote:
> >
> > > I used the following thrift compiler. I did not see any mentions of
> > > versions.
> > > http://www.apache.org/dyn/closer.cgi?path=/thrift/0.10.
> Apache Download Mirrors<http://www.apache.org/
> dyn/closer.cgi?path=/thrift/0.10>
> www.apache.org<http://www.apache.org>
> Home page of The Apache Software Foundation
>
>
> Apache Download Mirrors<http://www.apache.org/
> dyn/closer.cgi?path=/thrift/0.10>
> Apache Download Mirrors<http://www.apache.org/
> dyn/closer.cgi?path=/thrift/0.10>
> www.apache.org<http://www.apache.org>
> Home page of The Apache Software Foundation
>
>
> www.apache.org<http://www.apache.org>
> Home page of The Apache Software Foundation
>
>
> > 0/thrift-0.10.0.exe
> > Apache Download Mirrors<http://www.apache.org/
> > dyn/closer.cgi?path=/thrift/0.10.0/thrift-0.10.0.exe>
> > www.apache.org<http://www.apache.org>
> > Home page of The Apache Software Foundation
> >
> >
> > >
> > >
> > > Here's the stack trace. I am running ANYCPU platform:
> > >
> > >
> > >         private  string ReadStringBody(int size)
> > >         {
> > >             byte[] buf = new byte[size];
> > >
> > >
> > > size = 1213486160
> > >
> > >
> > >
> > >    at Thrift.Protocol.TBinaryProtocol.ReadStringBody(Int32 size) in
> > > D:\repos\thrift\lib\csharp\src\Protocol\TBinaryProtocol.cs:line 383
> > >    at Thrift.Protocol.TBinaryProtocol.ReadMessageBegin() in
> > > D:\repos\thrift\lib\csharp\src\Protocol\TBinaryProtocol.cs:line 239
> > >    at Hbase.Client.recv_getTableNames() in
> > D:\Projects\HBaseThrift\Hbase.cs:line
> > > 1418
> > >    at Hbase.Client.getTableNames() in D:\Projects\HBaseThrift\Hbase.
> > cs:line
> > > 1391
> > >    at DemoClient.Main(String[] args) in D:\Projects\HBaseThriftClient\
> > DemoClient.cs:line
> > > 97
> > >    at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly,
> > > String[] args)
> > >    at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence
> > > assemblySecurity, String[] args)
> > >    at Microsoft.VisualStudio.HostingProcess.HostProc.
> RunUsersAssembly()
> > >    at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
> > >    at System.Threading.ExecutionContext.RunInternal(ExecutionContext
> > > executionContext, ContextCallback callback, Object state, Boolean
> > > preserveSyncCtx)
> > >    at System.Threading.ExecutionContext.Run(ExecutionContext
> > > executionContext, ContextCallback callback, Object state, Boolean
> > > preserveSyncCtx)
> > >    at System.Threading.ExecutionContext.Run(ExecutionContext
> > > executionContext, ContextCallback callback, Object state)
> > >    at System.Threading.ThreadHelper.ThreadStart()
> > >
> > >
> > > ________________________________
> > > From: Ted Yu <yu...@gmail.com>
> > > Sent: Friday, January 13, 2017 10:00 AM
> > > To: user@hbase.apache.org
> > > Subject: Re: HBase Thrift Client for C#: OutofMemoryException
> > >
> > > Which thrift version did you use to generate c# code ?
> > >
> > > hbase uses 0.9.3
> > >
> > > Can you pastebin the whole stack trace for the exception ?
> > >
> > > I assume you run your code on 64-bit machine.
> > >
> > > Cheers
> > >
> > > On Fri, Jan 13, 2017 at 9:53 AM, jeff saremi <je...@hotmail.com>
> > > wrote:
> > >
> > > > I have cloned the latest thrift and hbase code. Used thrift generator
> > to
> > > > generate c# code from hbase-thrift\src\main\
> > resources\org\apache\hadoop\
> > > hbase\thrift.
> > > > Then created a single VS solution with the generated code, the thrift
> > lib
> > > > for c# (thrift\lib\csharp\src\Thrift.csproj) and i also added a
> > > > DemoClient (hbase-examples) converted from c++ to c#. When I run
> that I
> > > > keep getting OutofMemoryException with not a lot of other useful
> > > > information. I have done the same process for C++ and the democlient
> > code
> > > > from hbase-examples runs with no issues at all.
> > > >
> > > >
> > > > here's the client code:
> > > >
> > > > TTransport socket = new TSocket(args[0], Convert.ToInt32(args[1]));
> > > > TTransport transport = new TBufferedTransport((
> > TStreamTransport)socket);
> > > > TProtocol protocol = new TBinaryProtocol(transport);
> > > > Hbase.Client client = new Hbase.Client(protocol);
> > > > List<byte[]> tables = client.getTableNames();
> > > >
> > > > The last line is where the exception is thrown. thanks
> > > >
> > >
> >
>

Re: HBase Thrift Client for C#: OutofMemoryException

Posted by Ted Yu <yu...@gmail.com>.
bq. i can create a pull request for them

That would be wonderful.

Please log a JIRA, polish the C# example and attach to the JIRA.

In hbase, we're not at the stage of reviewing / committing pull request yet.

On Fri, Jan 13, 2017 at 3:45 PM, jeff saremi <je...@hotmail.com> wrote:

> sorry Ted for wasting your time
>
> It happened that i was using the wrong port for this
>
> What a misleading error for an error so common! but that's Thrift
>
>
> On another note i now have converted the Democlient to from hbase-examples
> to C# and i have the generated files as well. If there's interest i can
> create a pull request for them
>
>
>
> ________________________________
> From: jeff saremi <je...@hotmail.com>
> Sent: Friday, January 13, 2017 2:11 PM
> To: user@hbase.apache.org
> Subject: Re: HBase Thrift Client for C#: OutofMemoryException
>
> Thanks Ted.
>
> I looked at this. We didn't know that a multipexing protocol existed until
> you mentioned it to us.
> We're using a stock thrift server that is shipped with hbase.
> If you perhaps point us to where we should be checking I'd be appreciative.
>
>
>
> ________________________________
> From: Ted Yu <yu...@gmail.com>
> Sent: Friday, January 13, 2017 1:34 PM
> To: user@hbase.apache.org
> Subject: Re: HBase Thrift Client for C#: OutofMemoryException
>
> I haven't touched C# for a decade.
>
> After a brief search, I found:
> http://stackoverflow.com/questions/17843749/apache-
> thrift-client-run-time-issues-in-c-sharp
> [https://cdn.sstatic.net/Sites/stackoverflow/img/apple-touch-icon@2.png?v=
> 73d79a89bded]<http://stackoverflow.com/questions/
> 17843749/apache-thrift-client-run-time-issues-in-c-sharp>
>
> Apache Thrift Client Run time issues in c# - Stack Overflow<
> http://stackoverflow.com/questions/17843749/apache-
> thrift-client-run-time-issues-in-c-sharp>
> stackoverflow.com
> I am working on a client - server application written in C# that is built
> using the Apache THRIFT RPC framework. We have created several IDL files
> (.thrift ...
>
>
>
> Can you take a look at the answer to see if it is relevant ?
>
> Cheers
>
> On Fri, Jan 13, 2017 at 11:10 AM, jeff saremi <je...@hotmail.com>
> wrote:
>
> > The result is the same. OutofMemoryException.
> >
> > I again ran my C++ client to make sure nothing wierd is going on server
> > side.
> > I found the thrift compiler here: http://www-us.apache.org/dist/
> Index of /dist - Apache Software Foundation<http://www-us.apache.org/dist/
> >
> www-us.apache.org
> Apache Software Foundation Distribution Directory. The directories linked
> below contain current software releases from the Apache Software Foundation
> projects.
>
>
> Index of /dist - Apache Software Foundation<http://www-us.apache.org/dist/
> >
> Index of /dist - Apache Software Foundation<http://www-us.apache.org/dist/
> >
> www-us.apache.org
> Apache Software Foundation Distribution Directory. The directories linked
> below contain current software releases from the Apache Software Foundation
> projects.
>
>
> www-us.apache.org
> Apache Software Foundation Distribution Directory. The directories linked
> below contain current software releases from the Apache Software Foundation
> projects.
>
>
> > thrift/0.9.3/
> >
> > I regenerated all files and deleted all old ones.
> >
> > Here's a sample of a generated file for you to see that 0.9.3 is used:
> >
> >
> > /**
> >  * Autogenerated by Thrift Compiler (0.9.3)
> >  *
> >  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
> >  *  @generated
> >  */
> > using System;
> > using System.Collections;
> > using System.Collections.Generic;
> > using System.Text;
> > using System.IO;
> > using Thrift;
> > using Thrift.Collections;
> > using System.Runtime.Serialization;
> > using Thrift.Protocol;
> > using Thrift.Transport;
> >
> > public partial class Hbase {
> >   public interface Iface {
> >
> >
> >
> > ________________________________
> > From: jeff saremi <je...@hotmail.com>
> > Sent: Friday, January 13, 2017 10:39 AM
> > To: user@hbase.apache.org
> > Subject: Re: HBase Thrift Client for C#: OutofMemoryException
> >
> >
> > oh i see. sure i'll do that and report back.
> >
> >
> > ________________________________
> > From: Ted Yu <yu...@gmail.com>
> > Sent: Friday, January 13, 2017 10:32 AM
> > To: user@hbase.apache.org
> > Subject: Re: HBase Thrift Client for C#: OutofMemoryException
> >
> > I am not sure about compatibility between thrift 0.10.0 and 0.9.3
> >
> > Is it possible for you to locate 0.9.3 thrift compiler and try again ?
> >
> > On Fri, Jan 13, 2017 at 10:27 AM, jeff saremi <je...@hotmail.com>
> > wrote:
> >
> > > I used the following thrift compiler. I did not see any mentions of
> > > versions.
> > > http://www.apache.org/dyn/closer.cgi?path=/thrift/0.10.
> Apache Download Mirrors<http://www.apache.org/
> dyn/closer.cgi?path=/thrift/0.10>
> www.apache.org
> Home page of The Apache Software Foundation
>
>
> Apache Download Mirrors<http://www.apache.org/
> dyn/closer.cgi?path=/thrift/0.10>
> Apache Download Mirrors<http://www.apache.org/
> dyn/closer.cgi?path=/thrift/0.10>
> www.apache.org
> Home page of The Apache Software Foundation
>
>
> www.apache.org<http://www.apache.org>
> Home page of The Apache Software Foundation
>
>
> > 0/thrift-0.10.0.exe
> > Apache Download Mirrors<http://www.apache.org/
> > dyn/closer.cgi?path=/thrift/0.10.0/thrift-0.10.0.exe>
> > www.apache.org<http://www.apache.org>
> > Home page of The Apache Software Foundation
> >
> >
> > >
> > >
> > > Here's the stack trace. I am running ANYCPU platform:
> > >
> > >
> > >         private  string ReadStringBody(int size)
> > >         {
> > >             byte[] buf = new byte[size];
> > >
> > >
> > > size = 1213486160
> > >
> > >
> > >
> > >    at Thrift.Protocol.TBinaryProtocol.ReadStringBody(Int32 size) in
> > > D:\repos\thrift\lib\csharp\src\Protocol\TBinaryProtocol.cs:line 383
> > >    at Thrift.Protocol.TBinaryProtocol.ReadMessageBegin() in
> > > D:\repos\thrift\lib\csharp\src\Protocol\TBinaryProtocol.cs:line 239
> > >    at Hbase.Client.recv_getTableNames() in
> > D:\Projects\HBaseThrift\Hbase.cs:line
> > > 1418
> > >    at Hbase.Client.getTableNames() in D:\Projects\HBaseThrift\Hbase.
> > cs:line
> > > 1391
> > >    at DemoClient.Main(String[] args) in D:\Projects\HBaseThriftClient\
> > DemoClient.cs:line
> > > 97
> > >    at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly,
> > > String[] args)
> > >    at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence
> > > assemblySecurity, String[] args)
> > >    at Microsoft.VisualStudio.HostingProcess.HostProc.
> RunUsersAssembly()
> > >    at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
> > >    at System.Threading.ExecutionContext.RunInternal(ExecutionContext
> > > executionContext, ContextCallback callback, Object state, Boolean
> > > preserveSyncCtx)
> > >    at System.Threading.ExecutionContext.Run(ExecutionContext
> > > executionContext, ContextCallback callback, Object state, Boolean
> > > preserveSyncCtx)
> > >    at System.Threading.ExecutionContext.Run(ExecutionContext
> > > executionContext, ContextCallback callback, Object state)
> > >    at System.Threading.ThreadHelper.ThreadStart()
> > >
> > >
> > > ________________________________
> > > From: Ted Yu <yu...@gmail.com>
> > > Sent: Friday, January 13, 2017 10:00 AM
> > > To: user@hbase.apache.org
> > > Subject: Re: HBase Thrift Client for C#: OutofMemoryException
> > >
> > > Which thrift version did you use to generate c# code ?
> > >
> > > hbase uses 0.9.3
> > >
> > > Can you pastebin the whole stack trace for the exception ?
> > >
> > > I assume you run your code on 64-bit machine.
> > >
> > > Cheers
> > >
> > > On Fri, Jan 13, 2017 at 9:53 AM, jeff saremi <je...@hotmail.com>
> > > wrote:
> > >
> > > > I have cloned the latest thrift and hbase code. Used thrift generator
> > to
> > > > generate c# code from hbase-thrift\src\main\
> > resources\org\apache\hadoop\
> > > hbase\thrift.
> > > > Then created a single VS solution with the generated code, the thrift
> > lib
> > > > for c# (thrift\lib\csharp\src\Thrift.csproj) and i also added a
> > > > DemoClient (hbase-examples) converted from c++ to c#. When I run
> that I
> > > > keep getting OutofMemoryException with not a lot of other useful
> > > > information. I have done the same process for C++ and the democlient
> > code
> > > > from hbase-examples runs with no issues at all.
> > > >
> > > >
> > > > here's the client code:
> > > >
> > > > TTransport socket = new TSocket(args[0], Convert.ToInt32(args[1]));
> > > > TTransport transport = new TBufferedTransport((
> > TStreamTransport)socket);
> > > > TProtocol protocol = new TBinaryProtocol(transport);
> > > > Hbase.Client client = new Hbase.Client(protocol);
> > > > List<byte[]> tables = client.getTableNames();
> > > >
> > > > The last line is where the exception is thrown. thanks
> > > >
> > >
> >
>

Re: HBase Thrift Client for C#: OutofMemoryException

Posted by jeff saremi <je...@hotmail.com>.
sorry Ted for wasting your time

It happened that i was using the wrong port for this

What a misleading error for an error so common! but that's Thrift


On another note i now have converted the Democlient to from hbase-examples to C# and i have the generated files as well. If there's interest i can create a pull request for them



________________________________
From: jeff saremi <je...@hotmail.com>
Sent: Friday, January 13, 2017 2:11 PM
To: user@hbase.apache.org
Subject: Re: HBase Thrift Client for C#: OutofMemoryException

Thanks Ted.

I looked at this. We didn't know that a multipexing protocol existed until you mentioned it to us.
We're using a stock thrift server that is shipped with hbase.
If you perhaps point us to where we should be checking I'd be appreciative.



________________________________
From: Ted Yu <yu...@gmail.com>
Sent: Friday, January 13, 2017 1:34 PM
To: user@hbase.apache.org
Subject: Re: HBase Thrift Client for C#: OutofMemoryException

I haven't touched C# for a decade.

After a brief search, I found:
http://stackoverflow.com/questions/17843749/apache-thrift-client-run-time-issues-in-c-sharp
[https://cdn.sstatic.net/Sites/stackoverflow/img/apple-touch-icon@2.png?v=73d79a89bded]<http://stackoverflow.com/questions/17843749/apache-thrift-client-run-time-issues-in-c-sharp>

Apache Thrift Client Run time issues in c# - Stack Overflow<http://stackoverflow.com/questions/17843749/apache-thrift-client-run-time-issues-in-c-sharp>
stackoverflow.com
I am working on a client - server application written in C# that is built using the Apache THRIFT RPC framework. We have created several IDL files (.thrift ...



Can you take a look at the answer to see if it is relevant ?

Cheers

On Fri, Jan 13, 2017 at 11:10 AM, jeff saremi <je...@hotmail.com>
wrote:

> The result is the same. OutofMemoryException.
>
> I again ran my C++ client to make sure nothing wierd is going on server
> side.
> I found the thrift compiler here: http://www-us.apache.org/dist/
Index of /dist - Apache Software Foundation<http://www-us.apache.org/dist/>
www-us.apache.org
Apache Software Foundation Distribution Directory. The directories linked below contain current software releases from the Apache Software Foundation projects.


Index of /dist - Apache Software Foundation<http://www-us.apache.org/dist/>
Index of /dist - Apache Software Foundation<http://www-us.apache.org/dist/>
www-us.apache.org
Apache Software Foundation Distribution Directory. The directories linked below contain current software releases from the Apache Software Foundation projects.


www-us.apache.org
Apache Software Foundation Distribution Directory. The directories linked below contain current software releases from the Apache Software Foundation projects.


> thrift/0.9.3/
>
> I regenerated all files and deleted all old ones.
>
> Here's a sample of a generated file for you to see that 0.9.3 is used:
>
>
> /**
>  * Autogenerated by Thrift Compiler (0.9.3)
>  *
>  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
>  *  @generated
>  */
> using System;
> using System.Collections;
> using System.Collections.Generic;
> using System.Text;
> using System.IO;
> using Thrift;
> using Thrift.Collections;
> using System.Runtime.Serialization;
> using Thrift.Protocol;
> using Thrift.Transport;
>
> public partial class Hbase {
>   public interface Iface {
>
>
>
> ________________________________
> From: jeff saremi <je...@hotmail.com>
> Sent: Friday, January 13, 2017 10:39 AM
> To: user@hbase.apache.org
> Subject: Re: HBase Thrift Client for C#: OutofMemoryException
>
>
> oh i see. sure i'll do that and report back.
>
>
> ________________________________
> From: Ted Yu <yu...@gmail.com>
> Sent: Friday, January 13, 2017 10:32 AM
> To: user@hbase.apache.org
> Subject: Re: HBase Thrift Client for C#: OutofMemoryException
>
> I am not sure about compatibility between thrift 0.10.0 and 0.9.3
>
> Is it possible for you to locate 0.9.3 thrift compiler and try again ?
>
> On Fri, Jan 13, 2017 at 10:27 AM, jeff saremi <je...@hotmail.com>
> wrote:
>
> > I used the following thrift compiler. I did not see any mentions of
> > versions.
> > http://www.apache.org/dyn/closer.cgi?path=/thrift/0.10.
Apache Download Mirrors<http://www.apache.org/dyn/closer.cgi?path=/thrift/0.10>
www.apache.org
Home page of The Apache Software Foundation


Apache Download Mirrors<http://www.apache.org/dyn/closer.cgi?path=/thrift/0.10>
Apache Download Mirrors<http://www.apache.org/dyn/closer.cgi?path=/thrift/0.10>
www.apache.org
Home page of The Apache Software Foundation


www.apache.org<http://www.apache.org>
Home page of The Apache Software Foundation


> 0/thrift-0.10.0.exe
> Apache Download Mirrors<http://www.apache.org/
> dyn/closer.cgi?path=/thrift/0.10.0/thrift-0.10.0.exe>
> www.apache.org<http://www.apache.org>
> Home page of The Apache Software Foundation
>
>
> >
> >
> > Here's the stack trace. I am running ANYCPU platform:
> >
> >
> >         private  string ReadStringBody(int size)
> >         {
> >             byte[] buf = new byte[size];
> >
> >
> > size = 1213486160
> >
> >
> >
> >    at Thrift.Protocol.TBinaryProtocol.ReadStringBody(Int32 size) in
> > D:\repos\thrift\lib\csharp\src\Protocol\TBinaryProtocol.cs:line 383
> >    at Thrift.Protocol.TBinaryProtocol.ReadMessageBegin() in
> > D:\repos\thrift\lib\csharp\src\Protocol\TBinaryProtocol.cs:line 239
> >    at Hbase.Client.recv_getTableNames() in
> D:\Projects\HBaseThrift\Hbase.cs:line
> > 1418
> >    at Hbase.Client.getTableNames() in D:\Projects\HBaseThrift\Hbase.
> cs:line
> > 1391
> >    at DemoClient.Main(String[] args) in D:\Projects\HBaseThriftClient\
> DemoClient.cs:line
> > 97
> >    at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly,
> > String[] args)
> >    at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence
> > assemblySecurity, String[] args)
> >    at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
> >    at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
> >    at System.Threading.ExecutionContext.RunInternal(ExecutionContext
> > executionContext, ContextCallback callback, Object state, Boolean
> > preserveSyncCtx)
> >    at System.Threading.ExecutionContext.Run(ExecutionContext
> > executionContext, ContextCallback callback, Object state, Boolean
> > preserveSyncCtx)
> >    at System.Threading.ExecutionContext.Run(ExecutionContext
> > executionContext, ContextCallback callback, Object state)
> >    at System.Threading.ThreadHelper.ThreadStart()
> >
> >
> > ________________________________
> > From: Ted Yu <yu...@gmail.com>
> > Sent: Friday, January 13, 2017 10:00 AM
> > To: user@hbase.apache.org
> > Subject: Re: HBase Thrift Client for C#: OutofMemoryException
> >
> > Which thrift version did you use to generate c# code ?
> >
> > hbase uses 0.9.3
> >
> > Can you pastebin the whole stack trace for the exception ?
> >
> > I assume you run your code on 64-bit machine.
> >
> > Cheers
> >
> > On Fri, Jan 13, 2017 at 9:53 AM, jeff saremi <je...@hotmail.com>
> > wrote:
> >
> > > I have cloned the latest thrift and hbase code. Used thrift generator
> to
> > > generate c# code from hbase-thrift\src\main\
> resources\org\apache\hadoop\
> > hbase\thrift.
> > > Then created a single VS solution with the generated code, the thrift
> lib
> > > for c# (thrift\lib\csharp\src\Thrift.csproj) and i also added a
> > > DemoClient (hbase-examples) converted from c++ to c#. When I run that I
> > > keep getting OutofMemoryException with not a lot of other useful
> > > information. I have done the same process for C++ and the democlient
> code
> > > from hbase-examples runs with no issues at all.
> > >
> > >
> > > here's the client code:
> > >
> > > TTransport socket = new TSocket(args[0], Convert.ToInt32(args[1]));
> > > TTransport transport = new TBufferedTransport((
> TStreamTransport)socket);
> > > TProtocol protocol = new TBinaryProtocol(transport);
> > > Hbase.Client client = new Hbase.Client(protocol);
> > > List<byte[]> tables = client.getTableNames();
> > >
> > > The last line is where the exception is thrown. thanks
> > >
> >
>

Re: HBase Thrift Client for C#: OutofMemoryException

Posted by jeff saremi <je...@hotmail.com>.
Thanks Ted.

I looked at this. We didn't know that a multipexing protocol existed until you mentioned it to us.
We're using a stock thrift server that is shipped with hbase.
If you perhaps point us to where we should be checking I'd be appreciative.



________________________________
From: Ted Yu <yu...@gmail.com>
Sent: Friday, January 13, 2017 1:34 PM
To: user@hbase.apache.org
Subject: Re: HBase Thrift Client for C#: OutofMemoryException

I haven't touched C# for a decade.

After a brief search, I found:
http://stackoverflow.com/questions/17843749/apache-thrift-client-run-time-issues-in-c-sharp

Can you take a look at the answer to see if it is relevant ?

Cheers

On Fri, Jan 13, 2017 at 11:10 AM, jeff saremi <je...@hotmail.com>
wrote:

> The result is the same. OutofMemoryException.
>
> I again ran my C++ client to make sure nothing wierd is going on server
> side.
> I found the thrift compiler here: http://www-us.apache.org/dist/
Index of /dist - Apache Software Foundation<http://www-us.apache.org/dist/>
www-us.apache.org
Apache Software Foundation Distribution Directory. The directories linked below contain current software releases from the Apache Software Foundation projects.


> thrift/0.9.3/
>
> I regenerated all files and deleted all old ones.
>
> Here's a sample of a generated file for you to see that 0.9.3 is used:
>
>
> /**
>  * Autogenerated by Thrift Compiler (0.9.3)
>  *
>  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
>  *  @generated
>  */
> using System;
> using System.Collections;
> using System.Collections.Generic;
> using System.Text;
> using System.IO;
> using Thrift;
> using Thrift.Collections;
> using System.Runtime.Serialization;
> using Thrift.Protocol;
> using Thrift.Transport;
>
> public partial class Hbase {
>   public interface Iface {
>
>
>
> ________________________________
> From: jeff saremi <je...@hotmail.com>
> Sent: Friday, January 13, 2017 10:39 AM
> To: user@hbase.apache.org
> Subject: Re: HBase Thrift Client for C#: OutofMemoryException
>
>
> oh i see. sure i'll do that and report back.
>
>
> ________________________________
> From: Ted Yu <yu...@gmail.com>
> Sent: Friday, January 13, 2017 10:32 AM
> To: user@hbase.apache.org
> Subject: Re: HBase Thrift Client for C#: OutofMemoryException
>
> I am not sure about compatibility between thrift 0.10.0 and 0.9.3
>
> Is it possible for you to locate 0.9.3 thrift compiler and try again ?
>
> On Fri, Jan 13, 2017 at 10:27 AM, jeff saremi <je...@hotmail.com>
> wrote:
>
> > I used the following thrift compiler. I did not see any mentions of
> > versions.
> > http://www.apache.org/dyn/closer.cgi?path=/thrift/0.10.
Apache Download Mirrors<http://www.apache.org/dyn/closer.cgi?path=/thrift/0.10>
www.apache.org
Home page of The Apache Software Foundation


> 0/thrift-0.10.0.exe
> Apache Download Mirrors<http://www.apache.org/
> dyn/closer.cgi?path=/thrift/0.10.0/thrift-0.10.0.exe>
> www.apache.org<http://www.apache.org>
> Home page of The Apache Software Foundation
>
>
> >
> >
> > Here's the stack trace. I am running ANYCPU platform:
> >
> >
> >         private  string ReadStringBody(int size)
> >         {
> >             byte[] buf = new byte[size];
> >
> >
> > size = 1213486160
> >
> >
> >
> >    at Thrift.Protocol.TBinaryProtocol.ReadStringBody(Int32 size) in
> > D:\repos\thrift\lib\csharp\src\Protocol\TBinaryProtocol.cs:line 383
> >    at Thrift.Protocol.TBinaryProtocol.ReadMessageBegin() in
> > D:\repos\thrift\lib\csharp\src\Protocol\TBinaryProtocol.cs:line 239
> >    at Hbase.Client.recv_getTableNames() in
> D:\Projects\HBaseThrift\Hbase.cs:line
> > 1418
> >    at Hbase.Client.getTableNames() in D:\Projects\HBaseThrift\Hbase.
> cs:line
> > 1391
> >    at DemoClient.Main(String[] args) in D:\Projects\HBaseThriftClient\
> DemoClient.cs:line
> > 97
> >    at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly,
> > String[] args)
> >    at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence
> > assemblySecurity, String[] args)
> >    at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
> >    at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
> >    at System.Threading.ExecutionContext.RunInternal(ExecutionContext
> > executionContext, ContextCallback callback, Object state, Boolean
> > preserveSyncCtx)
> >    at System.Threading.ExecutionContext.Run(ExecutionContext
> > executionContext, ContextCallback callback, Object state, Boolean
> > preserveSyncCtx)
> >    at System.Threading.ExecutionContext.Run(ExecutionContext
> > executionContext, ContextCallback callback, Object state)
> >    at System.Threading.ThreadHelper.ThreadStart()
> >
> >
> > ________________________________
> > From: Ted Yu <yu...@gmail.com>
> > Sent: Friday, January 13, 2017 10:00 AM
> > To: user@hbase.apache.org
> > Subject: Re: HBase Thrift Client for C#: OutofMemoryException
> >
> > Which thrift version did you use to generate c# code ?
> >
> > hbase uses 0.9.3
> >
> > Can you pastebin the whole stack trace for the exception ?
> >
> > I assume you run your code on 64-bit machine.
> >
> > Cheers
> >
> > On Fri, Jan 13, 2017 at 9:53 AM, jeff saremi <je...@hotmail.com>
> > wrote:
> >
> > > I have cloned the latest thrift and hbase code. Used thrift generator
> to
> > > generate c# code from hbase-thrift\src\main\
> resources\org\apache\hadoop\
> > hbase\thrift.
> > > Then created a single VS solution with the generated code, the thrift
> lib
> > > for c# (thrift\lib\csharp\src\Thrift.csproj) and i also added a
> > > DemoClient (hbase-examples) converted from c++ to c#. When I run that I
> > > keep getting OutofMemoryException with not a lot of other useful
> > > information. I have done the same process for C++ and the democlient
> code
> > > from hbase-examples runs with no issues at all.
> > >
> > >
> > > here's the client code:
> > >
> > > TTransport socket = new TSocket(args[0], Convert.ToInt32(args[1]));
> > > TTransport transport = new TBufferedTransport((
> TStreamTransport)socket);
> > > TProtocol protocol = new TBinaryProtocol(transport);
> > > Hbase.Client client = new Hbase.Client(protocol);
> > > List<byte[]> tables = client.getTableNames();
> > >
> > > The last line is where the exception is thrown. thanks
> > >
> >
>

Re: HBase Thrift Client for C#: OutofMemoryException

Posted by Ted Yu <yu...@gmail.com>.
I haven't touched C# for a decade.

After a brief search, I found:
http://stackoverflow.com/questions/17843749/apache-thrift-client-run-time-issues-in-c-sharp

Can you take a look at the answer to see if it is relevant ?

Cheers

On Fri, Jan 13, 2017 at 11:10 AM, jeff saremi <je...@hotmail.com>
wrote:

> The result is the same. OutofMemoryException.
>
> I again ran my C++ client to make sure nothing wierd is going on server
> side.
> I found the thrift compiler here: http://www-us.apache.org/dist/
> thrift/0.9.3/
>
> I regenerated all files and deleted all old ones.
>
> Here's a sample of a generated file for you to see that 0.9.3 is used:
>
>
> /**
>  * Autogenerated by Thrift Compiler (0.9.3)
>  *
>  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
>  *  @generated
>  */
> using System;
> using System.Collections;
> using System.Collections.Generic;
> using System.Text;
> using System.IO;
> using Thrift;
> using Thrift.Collections;
> using System.Runtime.Serialization;
> using Thrift.Protocol;
> using Thrift.Transport;
>
> public partial class Hbase {
>   public interface Iface {
>
>
>
> ________________________________
> From: jeff saremi <je...@hotmail.com>
> Sent: Friday, January 13, 2017 10:39 AM
> To: user@hbase.apache.org
> Subject: Re: HBase Thrift Client for C#: OutofMemoryException
>
>
> oh i see. sure i'll do that and report back.
>
>
> ________________________________
> From: Ted Yu <yu...@gmail.com>
> Sent: Friday, January 13, 2017 10:32 AM
> To: user@hbase.apache.org
> Subject: Re: HBase Thrift Client for C#: OutofMemoryException
>
> I am not sure about compatibility between thrift 0.10.0 and 0.9.3
>
> Is it possible for you to locate 0.9.3 thrift compiler and try again ?
>
> On Fri, Jan 13, 2017 at 10:27 AM, jeff saremi <je...@hotmail.com>
> wrote:
>
> > I used the following thrift compiler. I did not see any mentions of
> > versions.
> > http://www.apache.org/dyn/closer.cgi?path=/thrift/0.10.
> 0/thrift-0.10.0.exe
> Apache Download Mirrors<http://www.apache.org/
> dyn/closer.cgi?path=/thrift/0.10.0/thrift-0.10.0.exe>
> www.apache.org
> Home page of The Apache Software Foundation
>
>
> >
> >
> > Here's the stack trace. I am running ANYCPU platform:
> >
> >
> >         private  string ReadStringBody(int size)
> >         {
> >             byte[] buf = new byte[size];
> >
> >
> > size = 1213486160
> >
> >
> >
> >    at Thrift.Protocol.TBinaryProtocol.ReadStringBody(Int32 size) in
> > D:\repos\thrift\lib\csharp\src\Protocol\TBinaryProtocol.cs:line 383
> >    at Thrift.Protocol.TBinaryProtocol.ReadMessageBegin() in
> > D:\repos\thrift\lib\csharp\src\Protocol\TBinaryProtocol.cs:line 239
> >    at Hbase.Client.recv_getTableNames() in
> D:\Projects\HBaseThrift\Hbase.cs:line
> > 1418
> >    at Hbase.Client.getTableNames() in D:\Projects\HBaseThrift\Hbase.
> cs:line
> > 1391
> >    at DemoClient.Main(String[] args) in D:\Projects\HBaseThriftClient\
> DemoClient.cs:line
> > 97
> >    at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly,
> > String[] args)
> >    at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence
> > assemblySecurity, String[] args)
> >    at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
> >    at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
> >    at System.Threading.ExecutionContext.RunInternal(ExecutionContext
> > executionContext, ContextCallback callback, Object state, Boolean
> > preserveSyncCtx)
> >    at System.Threading.ExecutionContext.Run(ExecutionContext
> > executionContext, ContextCallback callback, Object state, Boolean
> > preserveSyncCtx)
> >    at System.Threading.ExecutionContext.Run(ExecutionContext
> > executionContext, ContextCallback callback, Object state)
> >    at System.Threading.ThreadHelper.ThreadStart()
> >
> >
> > ________________________________
> > From: Ted Yu <yu...@gmail.com>
> > Sent: Friday, January 13, 2017 10:00 AM
> > To: user@hbase.apache.org
> > Subject: Re: HBase Thrift Client for C#: OutofMemoryException
> >
> > Which thrift version did you use to generate c# code ?
> >
> > hbase uses 0.9.3
> >
> > Can you pastebin the whole stack trace for the exception ?
> >
> > I assume you run your code on 64-bit machine.
> >
> > Cheers
> >
> > On Fri, Jan 13, 2017 at 9:53 AM, jeff saremi <je...@hotmail.com>
> > wrote:
> >
> > > I have cloned the latest thrift and hbase code. Used thrift generator
> to
> > > generate c# code from hbase-thrift\src\main\
> resources\org\apache\hadoop\
> > hbase\thrift.
> > > Then created a single VS solution with the generated code, the thrift
> lib
> > > for c# (thrift\lib\csharp\src\Thrift.csproj) and i also added a
> > > DemoClient (hbase-examples) converted from c++ to c#. When I run that I
> > > keep getting OutofMemoryException with not a lot of other useful
> > > information. I have done the same process for C++ and the democlient
> code
> > > from hbase-examples runs with no issues at all.
> > >
> > >
> > > here's the client code:
> > >
> > > TTransport socket = new TSocket(args[0], Convert.ToInt32(args[1]));
> > > TTransport transport = new TBufferedTransport((
> TStreamTransport)socket);
> > > TProtocol protocol = new TBinaryProtocol(transport);
> > > Hbase.Client client = new Hbase.Client(protocol);
> > > List<byte[]> tables = client.getTableNames();
> > >
> > > The last line is where the exception is thrown. thanks
> > >
> >
>

Re: HBase Thrift Client for C#: OutofMemoryException

Posted by jeff saremi <je...@hotmail.com>.
The result is the same. OutofMemoryException.

I again ran my C++ client to make sure nothing wierd is going on server side.
I found the thrift compiler here: http://www-us.apache.org/dist/thrift/0.9.3/

I regenerated all files and deleted all old ones.

Here's a sample of a generated file for you to see that 0.9.3 is used:


/**
 * Autogenerated by Thrift Compiler (0.9.3)
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 *  @generated
 */
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.IO;
using Thrift;
using Thrift.Collections;
using System.Runtime.Serialization;
using Thrift.Protocol;
using Thrift.Transport;

public partial class Hbase {
  public interface Iface {



________________________________
From: jeff saremi <je...@hotmail.com>
Sent: Friday, January 13, 2017 10:39 AM
To: user@hbase.apache.org
Subject: Re: HBase Thrift Client for C#: OutofMemoryException


oh i see. sure i'll do that and report back.


________________________________
From: Ted Yu <yu...@gmail.com>
Sent: Friday, January 13, 2017 10:32 AM
To: user@hbase.apache.org
Subject: Re: HBase Thrift Client for C#: OutofMemoryException

I am not sure about compatibility between thrift 0.10.0 and 0.9.3

Is it possible for you to locate 0.9.3 thrift compiler and try again ?

On Fri, Jan 13, 2017 at 10:27 AM, jeff saremi <je...@hotmail.com>
wrote:

> I used the following thrift compiler. I did not see any mentions of
> versions.
> http://www.apache.org/dyn/closer.cgi?path=/thrift/0.10.0/thrift-0.10.0.exe
Apache Download Mirrors<http://www.apache.org/dyn/closer.cgi?path=/thrift/0.10.0/thrift-0.10.0.exe>
www.apache.org
Home page of The Apache Software Foundation


>
>
> Here's the stack trace. I am running ANYCPU platform:
>
>
>         private  string ReadStringBody(int size)
>         {
>             byte[] buf = new byte[size];
>
>
> size = 1213486160
>
>
>
>    at Thrift.Protocol.TBinaryProtocol.ReadStringBody(Int32 size) in
> D:\repos\thrift\lib\csharp\src\Protocol\TBinaryProtocol.cs:line 383
>    at Thrift.Protocol.TBinaryProtocol.ReadMessageBegin() in
> D:\repos\thrift\lib\csharp\src\Protocol\TBinaryProtocol.cs:line 239
>    at Hbase.Client.recv_getTableNames() in D:\Projects\HBaseThrift\Hbase.cs:line
> 1418
>    at Hbase.Client.getTableNames() in D:\Projects\HBaseThrift\Hbase.cs:line
> 1391
>    at DemoClient.Main(String[] args) in D:\Projects\HBaseThriftClient\DemoClient.cs:line
> 97
>    at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly,
> String[] args)
>    at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence
> assemblySecurity, String[] args)
>    at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
>    at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
>    at System.Threading.ExecutionContext.RunInternal(ExecutionContext
> executionContext, ContextCallback callback, Object state, Boolean
> preserveSyncCtx)
>    at System.Threading.ExecutionContext.Run(ExecutionContext
> executionContext, ContextCallback callback, Object state, Boolean
> preserveSyncCtx)
>    at System.Threading.ExecutionContext.Run(ExecutionContext
> executionContext, ContextCallback callback, Object state)
>    at System.Threading.ThreadHelper.ThreadStart()
>
>
> ________________________________
> From: Ted Yu <yu...@gmail.com>
> Sent: Friday, January 13, 2017 10:00 AM
> To: user@hbase.apache.org
> Subject: Re: HBase Thrift Client for C#: OutofMemoryException
>
> Which thrift version did you use to generate c# code ?
>
> hbase uses 0.9.3
>
> Can you pastebin the whole stack trace for the exception ?
>
> I assume you run your code on 64-bit machine.
>
> Cheers
>
> On Fri, Jan 13, 2017 at 9:53 AM, jeff saremi <je...@hotmail.com>
> wrote:
>
> > I have cloned the latest thrift and hbase code. Used thrift generator to
> > generate c# code from hbase-thrift\src\main\resources\org\apache\hadoop\
> hbase\thrift.
> > Then created a single VS solution with the generated code, the thrift lib
> > for c# (thrift\lib\csharp\src\Thrift.csproj) and i also added a
> > DemoClient (hbase-examples) converted from c++ to c#. When I run that I
> > keep getting OutofMemoryException with not a lot of other useful
> > information. I have done the same process for C++ and the democlient code
> > from hbase-examples runs with no issues at all.
> >
> >
> > here's the client code:
> >
> > TTransport socket = new TSocket(args[0], Convert.ToInt32(args[1]));
> > TTransport transport = new TBufferedTransport((TStreamTransport)socket);
> > TProtocol protocol = new TBinaryProtocol(transport);
> > Hbase.Client client = new Hbase.Client(protocol);
> > List<byte[]> tables = client.getTableNames();
> >
> > The last line is where the exception is thrown. thanks
> >
>

Re: HBase Thrift Client for C#: OutofMemoryException

Posted by jeff saremi <je...@hotmail.com>.
oh i see. sure i'll do that and report back.


________________________________
From: Ted Yu <yu...@gmail.com>
Sent: Friday, January 13, 2017 10:32 AM
To: user@hbase.apache.org
Subject: Re: HBase Thrift Client for C#: OutofMemoryException

I am not sure about compatibility between thrift 0.10.0 and 0.9.3

Is it possible for you to locate 0.9.3 thrift compiler and try again ?

On Fri, Jan 13, 2017 at 10:27 AM, jeff saremi <je...@hotmail.com>
wrote:

> I used the following thrift compiler. I did not see any mentions of
> versions.
> http://www.apache.org/dyn/closer.cgi?path=/thrift/0.10.0/thrift-0.10.0.exe
Apache Download Mirrors<http://www.apache.org/dyn/closer.cgi?path=/thrift/0.10.0/thrift-0.10.0.exe>
www.apache.org
Home page of The Apache Software Foundation


>
>
> Here's the stack trace. I am running ANYCPU platform:
>
>
>         private  string ReadStringBody(int size)
>         {
>             byte[] buf = new byte[size];
>
>
> size = 1213486160
>
>
>
>    at Thrift.Protocol.TBinaryProtocol.ReadStringBody(Int32 size) in
> D:\repos\thrift\lib\csharp\src\Protocol\TBinaryProtocol.cs:line 383
>    at Thrift.Protocol.TBinaryProtocol.ReadMessageBegin() in
> D:\repos\thrift\lib\csharp\src\Protocol\TBinaryProtocol.cs:line 239
>    at Hbase.Client.recv_getTableNames() in D:\Projects\HBaseThrift\Hbase.cs:line
> 1418
>    at Hbase.Client.getTableNames() in D:\Projects\HBaseThrift\Hbase.cs:line
> 1391
>    at DemoClient.Main(String[] args) in D:\Projects\HBaseThriftClient\DemoClient.cs:line
> 97
>    at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly,
> String[] args)
>    at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence
> assemblySecurity, String[] args)
>    at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
>    at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
>    at System.Threading.ExecutionContext.RunInternal(ExecutionContext
> executionContext, ContextCallback callback, Object state, Boolean
> preserveSyncCtx)
>    at System.Threading.ExecutionContext.Run(ExecutionContext
> executionContext, ContextCallback callback, Object state, Boolean
> preserveSyncCtx)
>    at System.Threading.ExecutionContext.Run(ExecutionContext
> executionContext, ContextCallback callback, Object state)
>    at System.Threading.ThreadHelper.ThreadStart()
>
>
> ________________________________
> From: Ted Yu <yu...@gmail.com>
> Sent: Friday, January 13, 2017 10:00 AM
> To: user@hbase.apache.org
> Subject: Re: HBase Thrift Client for C#: OutofMemoryException
>
> Which thrift version did you use to generate c# code ?
>
> hbase uses 0.9.3
>
> Can you pastebin the whole stack trace for the exception ?
>
> I assume you run your code on 64-bit machine.
>
> Cheers
>
> On Fri, Jan 13, 2017 at 9:53 AM, jeff saremi <je...@hotmail.com>
> wrote:
>
> > I have cloned the latest thrift and hbase code. Used thrift generator to
> > generate c# code from hbase-thrift\src\main\resources\org\apache\hadoop\
> hbase\thrift.
> > Then created a single VS solution with the generated code, the thrift lib
> > for c# (thrift\lib\csharp\src\Thrift.csproj) and i also added a
> > DemoClient (hbase-examples) converted from c++ to c#. When I run that I
> > keep getting OutofMemoryException with not a lot of other useful
> > information. I have done the same process for C++ and the democlient code
> > from hbase-examples runs with no issues at all.
> >
> >
> > here's the client code:
> >
> > TTransport socket = new TSocket(args[0], Convert.ToInt32(args[1]));
> > TTransport transport = new TBufferedTransport((TStreamTransport)socket);
> > TProtocol protocol = new TBinaryProtocol(transport);
> > Hbase.Client client = new Hbase.Client(protocol);
> > List<byte[]> tables = client.getTableNames();
> >
> > The last line is where the exception is thrown. thanks
> >
>

Re: HBase Thrift Client for C#: OutofMemoryException

Posted by Ted Yu <yu...@gmail.com>.
I am not sure about compatibility between thrift 0.10.0 and 0.9.3

Is it possible for you to locate 0.9.3 thrift compiler and try again ?

On Fri, Jan 13, 2017 at 10:27 AM, jeff saremi <je...@hotmail.com>
wrote:

> I used the following thrift compiler. I did not see any mentions of
> versions.
> http://www.apache.org/dyn/closer.cgi?path=/thrift/0.10.0/thrift-0.10.0.exe
>
>
> Here's the stack trace. I am running ANYCPU platform:
>
>
>         private  string ReadStringBody(int size)
>         {
>             byte[] buf = new byte[size];
>
>
> size = 1213486160
>
>
>
>    at Thrift.Protocol.TBinaryProtocol.ReadStringBody(Int32 size) in
> D:\repos\thrift\lib\csharp\src\Protocol\TBinaryProtocol.cs:line 383
>    at Thrift.Protocol.TBinaryProtocol.ReadMessageBegin() in
> D:\repos\thrift\lib\csharp\src\Protocol\TBinaryProtocol.cs:line 239
>    at Hbase.Client.recv_getTableNames() in D:\Projects\HBaseThrift\Hbase.cs:line
> 1418
>    at Hbase.Client.getTableNames() in D:\Projects\HBaseThrift\Hbase.cs:line
> 1391
>    at DemoClient.Main(String[] args) in D:\Projects\HBaseThriftClient\DemoClient.cs:line
> 97
>    at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly,
> String[] args)
>    at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence
> assemblySecurity, String[] args)
>    at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
>    at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
>    at System.Threading.ExecutionContext.RunInternal(ExecutionContext
> executionContext, ContextCallback callback, Object state, Boolean
> preserveSyncCtx)
>    at System.Threading.ExecutionContext.Run(ExecutionContext
> executionContext, ContextCallback callback, Object state, Boolean
> preserveSyncCtx)
>    at System.Threading.ExecutionContext.Run(ExecutionContext
> executionContext, ContextCallback callback, Object state)
>    at System.Threading.ThreadHelper.ThreadStart()
>
>
> ________________________________
> From: Ted Yu <yu...@gmail.com>
> Sent: Friday, January 13, 2017 10:00 AM
> To: user@hbase.apache.org
> Subject: Re: HBase Thrift Client for C#: OutofMemoryException
>
> Which thrift version did you use to generate c# code ?
>
> hbase uses 0.9.3
>
> Can you pastebin the whole stack trace for the exception ?
>
> I assume you run your code on 64-bit machine.
>
> Cheers
>
> On Fri, Jan 13, 2017 at 9:53 AM, jeff saremi <je...@hotmail.com>
> wrote:
>
> > I have cloned the latest thrift and hbase code. Used thrift generator to
> > generate c# code from hbase-thrift\src\main\resources\org\apache\hadoop\
> hbase\thrift.
> > Then created a single VS solution with the generated code, the thrift lib
> > for c# (thrift\lib\csharp\src\Thrift.csproj) and i also added a
> > DemoClient (hbase-examples) converted from c++ to c#. When I run that I
> > keep getting OutofMemoryException with not a lot of other useful
> > information. I have done the same process for C++ and the democlient code
> > from hbase-examples runs with no issues at all.
> >
> >
> > here's the client code:
> >
> > TTransport socket = new TSocket(args[0], Convert.ToInt32(args[1]));
> > TTransport transport = new TBufferedTransport((TStreamTransport)socket);
> > TProtocol protocol = new TBinaryProtocol(transport);
> > Hbase.Client client = new Hbase.Client(protocol);
> > List<byte[]> tables = client.getTableNames();
> >
> > The last line is where the exception is thrown. thanks
> >
>

Re: HBase Thrift Client for C#: OutofMemoryException

Posted by jeff saremi <je...@hotmail.com>.
I did a x64 compilation
I get a

{"Cannot read, Remote side has closed"}   Thrift.TException {Thrift.Transport.TTransportException}
with no further details



________________________________
From: jeff saremi <je...@hotmail.com>
Sent: Friday, January 13, 2017 10:27 AM
To: user@hbase.apache.org
Subject: Re: HBase Thrift Client for C#: OutofMemoryException


I used the following thrift compiler. I did not see any mentions of versions.
http://www.apache.org/dyn/closer.cgi?path=/thrift/0.10.0/thrift-0.10.0.exe


Here's the stack trace. I am running ANYCPU platform:


        private  string ReadStringBody(int size)
        {
            byte[] buf = new byte[size];


size = 1213486160



   at Thrift.Protocol.TBinaryProtocol.ReadStringBody(Int32 size) in D:\repos\thrift\lib\csharp\src\Protocol\TBinaryProtocol.cs:line 383
   at Thrift.Protocol.TBinaryProtocol.ReadMessageBegin() in D:\repos\thrift\lib\csharp\src\Protocol\TBinaryProtocol.cs:line 239
   at Hbase.Client.recv_getTableNames() in D:\Projects\HBaseThrift\Hbase.cs:line 1418
   at Hbase.Client.getTableNames() in D:\Projects\HBaseThrift\Hbase.cs:line 1391
   at DemoClient.Main(String[] args) in D:\Projects\HBaseThriftClient\DemoClient.cs:line 97
   at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
   at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
   at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()


________________________________
From: Ted Yu <yu...@gmail.com>
Sent: Friday, January 13, 2017 10:00 AM
To: user@hbase.apache.org
Subject: Re: HBase Thrift Client for C#: OutofMemoryException

Which thrift version did you use to generate c# code ?

hbase uses 0.9.3

Can you pastebin the whole stack trace for the exception ?

I assume you run your code on 64-bit machine.

Cheers

On Fri, Jan 13, 2017 at 9:53 AM, jeff saremi <je...@hotmail.com> wrote:

> I have cloned the latest thrift and hbase code. Used thrift generator to
> generate c# code from hbase-thrift\src\main\resources\org\apache\hadoop\hbase\thrift.
> Then created a single VS solution with the generated code, the thrift lib
> for c# (thrift\lib\csharp\src\Thrift.csproj) and i also added a
> DemoClient (hbase-examples) converted from c++ to c#. When I run that I
> keep getting OutofMemoryException with not a lot of other useful
> information. I have done the same process for C++ and the democlient code
> from hbase-examples runs with no issues at all.
>
>
> here's the client code:
>
> TTransport socket = new TSocket(args[0], Convert.ToInt32(args[1]));
> TTransport transport = new TBufferedTransport((TStreamTransport)socket);
> TProtocol protocol = new TBinaryProtocol(transport);
> Hbase.Client client = new Hbase.Client(protocol);
> List<byte[]> tables = client.getTableNames();
>
> The last line is where the exception is thrown. thanks
>

Re: HBase Thrift Client for C#: OutofMemoryException

Posted by jeff saremi <je...@hotmail.com>.
I used the following thrift compiler. I did not see any mentions of versions.
http://www.apache.org/dyn/closer.cgi?path=/thrift/0.10.0/thrift-0.10.0.exe


Here's the stack trace. I am running ANYCPU platform:


        private  string ReadStringBody(int size)
        {
            byte[] buf = new byte[size];


size = 1213486160



   at Thrift.Protocol.TBinaryProtocol.ReadStringBody(Int32 size) in D:\repos\thrift\lib\csharp\src\Protocol\TBinaryProtocol.cs:line 383
   at Thrift.Protocol.TBinaryProtocol.ReadMessageBegin() in D:\repos\thrift\lib\csharp\src\Protocol\TBinaryProtocol.cs:line 239
   at Hbase.Client.recv_getTableNames() in D:\Projects\HBaseThrift\Hbase.cs:line 1418
   at Hbase.Client.getTableNames() in D:\Projects\HBaseThrift\Hbase.cs:line 1391
   at DemoClient.Main(String[] args) in D:\Projects\HBaseThriftClient\DemoClient.cs:line 97
   at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
   at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
   at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()


________________________________
From: Ted Yu <yu...@gmail.com>
Sent: Friday, January 13, 2017 10:00 AM
To: user@hbase.apache.org
Subject: Re: HBase Thrift Client for C#: OutofMemoryException

Which thrift version did you use to generate c# code ?

hbase uses 0.9.3

Can you pastebin the whole stack trace for the exception ?

I assume you run your code on 64-bit machine.

Cheers

On Fri, Jan 13, 2017 at 9:53 AM, jeff saremi <je...@hotmail.com> wrote:

> I have cloned the latest thrift and hbase code. Used thrift generator to
> generate c# code from hbase-thrift\src\main\resources\org\apache\hadoop\hbase\thrift.
> Then created a single VS solution with the generated code, the thrift lib
> for c# (thrift\lib\csharp\src\Thrift.csproj) and i also added a
> DemoClient (hbase-examples) converted from c++ to c#. When I run that I
> keep getting OutofMemoryException with not a lot of other useful
> information. I have done the same process for C++ and the democlient code
> from hbase-examples runs with no issues at all.
>
>
> here's the client code:
>
> TTransport socket = new TSocket(args[0], Convert.ToInt32(args[1]));
> TTransport transport = new TBufferedTransport((TStreamTransport)socket);
> TProtocol protocol = new TBinaryProtocol(transport);
> Hbase.Client client = new Hbase.Client(protocol);
> List<byte[]> tables = client.getTableNames();
>
> The last line is where the exception is thrown. thanks
>

Re: HBase Thrift Client for C#: OutofMemoryException

Posted by Ted Yu <yu...@gmail.com>.
Which thrift version did you use to generate c# code ?

hbase uses 0.9.3

Can you pastebin the whole stack trace for the exception ?

I assume you run your code on 64-bit machine.

Cheers

On Fri, Jan 13, 2017 at 9:53 AM, jeff saremi <je...@hotmail.com> wrote:

> I have cloned the latest thrift and hbase code. Used thrift generator to
> generate c# code from hbase-thrift\src\main\resources\org\apache\hadoop\hbase\thrift.
> Then created a single VS solution with the generated code, the thrift lib
> for c# (thrift\lib\csharp\src\Thrift.csproj) and i also added a
> DemoClient (hbase-examples) converted from c++ to c#. When I run that I
> keep getting OutofMemoryException with not a lot of other useful
> information. I have done the same process for C++ and the democlient code
> from hbase-examples runs with no issues at all.
>
>
> here's the client code:
>
> TTransport socket = new TSocket(args[0], Convert.ToInt32(args[1]));
> TTransport transport = new TBufferedTransport((TStreamTransport)socket);
> TProtocol protocol = new TBinaryProtocol(transport);
> Hbase.Client client = new Hbase.Client(protocol);
> List<byte[]> tables = client.getTableNames();
>
> The last line is where the exception is thrown. thanks
>