Looks like the default is already 'rows', however we use first 1000 cells to estimate number of rows in the cell store. The estimate could be wrong.
Increase max-approx-items might help: bloomfilter="rows --max-approx-items 10000" 2009/7/17 Luke <[email protected]>: > 2009/7/17 孔令华 <[email protected]>: >> Thanks, Doug & Luke >> >> In my opinion, this kind of performance issue is not in the critical path >> (just in mind, no data support, but I think RPCs and disk-seeking would cost >> much more time). A clear log is very important, specially for normal users. > > We sometime needs to turn on debugging to show a lot more data, we > want to make sure the timing is not affected too much. Note, the > logging system is not for range server only, it can be used for many > other tools that could be cpu intensive. With the current format you > can display it in any timezones easily, which would be important when > you have data centers across the world. > >> BTW,according to our tests, using BloomFilter with the default params costs >> too many mems (a RangeServer with 1600 Ranges cost about 9GB, and about 2GB >> without BloomFilter). And I found that BloomFilter actually need these mems >> instead of fragments. > > Are there a lot of columns in the table? Can you use the > bloomfilter=rows to see how much memory it uses? 7GB at 1% false > positive rate can accommodate 6 billion items! > > Do you want an option to provide fixed amount memory per access group? > >> And at present, BloomFilter affects the whole system, which I think should >> be AccessGroup-wide. Using it with the table schema would be a better >> choice(eg. appoint them when create table). > > You can certainly turn it off globally and use the options at create > table time now. Doug is working on a lazy loading scheme, so that it > uses less memory (bloomfilter and index are not loaded unless needed) > > __Luke > >> 2009/7/18 Luke <[email protected]> >>> >>> You can alias lcat='perl -pe "s/^\d+/localtime($&)/e"' >>> >>> Then you can lcat *.log to see more readable timestamps. Time >>> conversion is very slow, especially it needs grab a global lock for >>> timezones. Storing timestamps in timezone neutral format has a lot of >>> benefits. >>> >>> On Fri, Jul 17, 2009 at 7:45 AM, Phoenix<[email protected]> wrote: >>> > >>> > 1. At present, the time field of the log is very hard to read. It's >>> > unreadable at some point. >>> > eg. 1247799471 INFO Hypertable.Master : >>> > >>> > There're some configurable options that can opt the output string. >>> > eg: >>> > >>> > diff --git a/src/cc/Common/Logger.cc b/src/cc/Common/Logger.cc >>> > index 301a2d1..985f231 100644 >>> > --- a/src/cc/Common/Logger.cc >>> > +++ b/src/cc/Common/Logger.cc >>> > @@ -28,6 +28,7 @@ >>> > #include <log4cpp/Layout.hh> >>> > #include <log4cpp/NDC.hh> >>> > #include <log4cpp/Priority.hh> >>> > +#include <log4cpp/PatternLayout.hh> >>> > >>> > #include "Logger.h" >>> > >>> > @@ -127,8 +128,8 @@ void >>> > Logger::initialize(const String &name, int priority, bool >>> > flush_per_log, >>> > std::ostream &out) { >>> > appender = new FlushableOstreamAppender("default", out, >>> > flush_per_log); >>> > - Logging::Layout* layout = new Logging::BasicLayout(); >>> > - //Logging::Layout* layout = new MicrosecondLayout(); >>> > + Logging::PatternLayout* layout = new Logging::PatternLayout(); >>> > + layout->setConversionPattern("[%d{%Y-%m-%d %H:%M:%S}] %p %c %x: %m >>> > %n"); >>> > appender->setLayout(layout); >>> > logger = &(Logging::Category::getInstance(name)); >>> > logger->addAppender(appender); >>> > >>> > >>> > After this mod, the output string is much better. eg: >>> > [2009-07-17 14:53:57] INFO Hypertable.RangeServer : >>> > >>> > >>> > 2. Besides, log should support rolling. At present, the log files'll >>> > grow very large as time goes. >>> > > >>> > >>> >>> >> >> >> >> >> > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
