Hi, Hassan,

Looks like the line number you've given in the email is not what I see
in my current version of the code.  Guess that you might be using
FastBit ibis1.2.8.  Would you be willing to try the source code from
the SVN repository?  You can download the latest version from
codeforge.lbl.gov with the following command

svn checkout https://codeforge.lbl.gov/anonscm/fastbit

The latest code is SVN revision 473.

The particular error code indicates that the number of key columns and
value columns in the two sets of partial results do not match.  This
is like because you have a number of different kind of data
partitions, but are somehow mixing them in the query processing steps.
 I am not sure where the mixing might be happening.  I would
appreciate a sample data to track down the problem if you continue to
have problem with FastBit.

Thanks.

John

On 2/11/12 10:44 AM, Hassan H. Monfared wrote:
> Dear john Wu,
> 
> Thank you very much for reply.
> 
> I got your point about where condition.
> 
> As I looked inside the code (regarding to ierr=-2):
> 
> The error message come from : filter.cpp : ibis:filter::sift2S() :
> 
> ierr = merges[lg2]->merge(*tmp, tms);
> 
>             if (ierr < 0) {
> 
>                 LOGGER(ibis::gVerbose > 1)
> 
>                   << " Warning -- " << mesg
> 
>                   << " failed to merge partial results, ierr = " << ierr;
> 
>                 return 0;
> 
>             }
> 
> Or maybe : same method:
> 
> // merge in the lower degree accumulator
> 
>                   ierr = merges[newlg2]->merge(*merges[lg2], tms);
> 
>                   if (ierr < 0) {
> 
>                       LOGGER(ibis::gVerbose > 1)
> 
>                         << "Warning -- " << mesg
> 
>                         << " failed to merge partial results, ierr = "
> 
>                         << ierr;
> 
>                       return 0;
> 
>                   }
> 
> Which the both calls :bord.cpp(line 2717): ibis:bord::merge() :
> 
> if (keys.size() != keyr.size() || vals.size() != valr.size())
> 
>       {
> 
>             return -2;
> 
>       }
> 
> 
> I hope this help you to find the solution and debug faster.
> 
> 
> Regards,
> 
> 
> Hassan Hamzehlooee Monfared
> 
> Directing Manager
> 
> Imen Rayaneh Shargh Co. Ltd.
> 
> Tel : +9821 88104832 
> 
> Cell Phone: +98912 2973770
> 
> Web site : http://www.imenrayaneh.com
> 
>  
> 
> Please consider the environment before printing this email.*
> 
> 
> 
> *From*: "K. John Wu" <[email protected]>
> *Sent*: 11 February 2012 21:50
> *To*: [email protected], "FastBit Users"
> <[email protected]>
> *Subject*: Re: [FastBit-users] fw: merge fails when CATGORY field is
> used in select statement
> 
> Hi, Hassan,
> 
> Thanks for the report. Looks like there might be a bug inside the
> merge function. Unfortunately, it might be a few week before we can
> get around to look into this.
> 
> Regarding the where clause, the example program ibis.cpp always wants
> a where clause. A simple one to tell it to select everything is '1=1'.
> 
> Hope this helps.
> 
> John
> 
> 
> On 2/11/12 5:15 AM, Hassan H. Monfared wrote:
>> Hi all,
>>
>> I have following structure of partitions for my fastbit data :
>>
>> /var/fbdata/YYYY/MM/DD/HH/MM/ which includes (SRC_IP,IN_BYTES,DST_IP,…
>> ) + metaTags = year=YYYY,month=MM,day=DD,hour=HH
>>
>> * 1 - This query is OK : ibis –d /var/fbdata –q “select
>> SUM(IN_BYTES) where year=’2012’” // or any other conditions like
>> 1=1 IN_BYTES>0 ….
>> * 2- This query gives me error : : ibis –d /var/fbdata –q “select
>> SUM(IN_BYTES) ” ( fails with msg : tableSelect::
>> select(sum(in_bytes), ) failed on table T-00 )
>>
>> Seams we have to set a where condition anyway
>>
>> * 3- This query is ok : ibis -d /var/fbdata/2012/02/06/11 -q "select
>> hour,sum(in_bytes) where year='2012'" -v=4
>>
>> Result :
>>
>> "11", 307445
>>
>> I repeat the same query with ../06/12 , …06/13, …. ( all partitions
>> inside day 06 one by one) and I get correct result.
>>
>> Now ! when I try to do the same query on all hour partions for one day
>> ( 06) , here is my try result :
>>
>> * 4- This query gives me error : ibis -d /var/fbdata/2012/02/06 -q
>> "select hour,sum(in_bytes) where year='2012'" -v=4
>>
>> Message :
>>
>> Warning -- filter::sift2S(SELECT hour,sum(in_bytes) FROM 56 data
>> partitions WHERE year *...) failed to merge partial results*, ierr = -2
>>
>> clearing data partition W2eOV
>>
>> clearing data partition WVeO
>>
>> clearing data partition Z1mMt
>>
>> filter::sift2S(SELECT hour,sum(in_bytes) FROM 56 data partitions WHERE
>> year ...) -- duration: 0.004001 sec(CPU), 0.00199199 sec(elapsed)
>>
>> Freeing selectClause @ 0xbf8e1880
>>
>> tableSelect:: select(hour,sum(in_bytes), year='2012') *failed on table
>> T-00*
>>
>> seems that merging partitions when we use category fields raises error.
>>
>> Is there any way to avoid querying hours of day one by one to get this
>> output result ?
>>
>> ibis -d /var/fbdata/2012/02/06 -q "select hour,sum(in_bytes) where
>> year='2012'"
>>
>> H1,SUM1
>>
>> H2,SUM2
>>
>> H3,SUM3
>>
>> Regards,
>>
>>
>>
>> */Hassan Hamzehlooee Monfared/*
>>
>> */Directing Manager/*
>>
>> */Imen /**/Rayaneh /**/Shargh Co. Ltd./*
>>
>> */Tel : +9821 88104832 /*
>>
>> */Cell Phone: +98912 2973770/*
>>
>> */Web site : http://www.imenrayaneh.com <http://www.imenrayaneh.com/>/*
>>
>> */ /*
>>
>> *Please consider the environment before printing this email.**
>>
>>
>>
>>
>> _______________________________________________
>> FastBit-users mailing list
>> [email protected]
>> https://hpcrdm.lbl.gov/cgi-bin/mailman/listinfo/fastbit-users
_______________________________________________
FastBit-users mailing list
[email protected]
https://hpcrdm.lbl.gov/cgi-bin/mailman/listinfo/fastbit-users

Reply via email to