Return-Path: X-Original-To: apmail-hbase-dev-archive@www.apache.org Delivered-To: apmail-hbase-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 3BD239550 for ; Wed, 2 Nov 2011 20:24:57 +0000 (UTC) Received: (qmail 16357 invoked by uid 500); 2 Nov 2011 20:24:56 -0000 Delivered-To: apmail-hbase-dev-archive@hbase.apache.org Received: (qmail 16324 invoked by uid 500); 2 Nov 2011 20:24:56 -0000 Mailing-List: contact dev-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hbase.apache.org Delivered-To: mailing list dev@hbase.apache.org Received: (qmail 16316 invoked by uid 99); 2 Nov 2011 20:24:56 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 02 Nov 2011 20:24:56 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [204.235.122.16] (HELO obmail.carrieriq.com) (204.235.122.16) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 02 Nov 2011 20:24:50 +0000 From: Vladimir Rodionov To: "dev@hbase.apache.org" Date: Wed, 2 Nov 2011 13:24:27 -0700 Subject: HBase 0.90.4 missing data in production Thread-Topic: HBase 0.90.4 missing data in production Thread-Index: AQHMmZ1riwGPuBrGDUq6u1MtEvPxXQ== Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US x-kse-antivirus-interceptor-info: protection disabled Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Virus-Checked: Checked by ClamAV on apache.org Even with WAL enabled HBase version: 0.90.4 Hadoop: 0.20.2+320 (CDH3) When M/R job finishes loading data into HBase table and right after that ev= erything is OK, no missing data. We can confirm that by running our own in= ternal tool. But when we re-start the HBase cluster and run the checker again we regular= ly find missing rows in a table. The total number of rows decreases in a ta= ble. This "missing rows" amount is small =3D ~ 0.1-0.3% of a total. After first = restart all subsequent restart do not affect on a total number of rows. It = seems, that we loose only during first restart Table's TTL =3D 1 year. There is a slim chance that we load data with times= tamps more than one year behind, but it does not explain the difference between total number of rows before and after cluster's restart. All RS are time synched. In Master log I do not see any WARN or ERRORs during cluster re-start. In R= S logs I see a lot of: 2011-11-02 00:16:07,620 INFO org.apache.hadoop.hbase.regionserver.wal.HLog:= Roll /hbase/.logs/us01-ciqps1-grid01.carrieriq.com,60020,1320187507171/us0= 1-ciqps1-grid01.carrieriq.com%3A60020.1320192949451, entries=3D76, filesize= =3D68053806. New hlog /hbase/.logs/us01-ciqps1-grid01.carrieriq.com,60020,1= 320187507171/us01-ciqps1-grid01.carrieriq.com%3A60020.1320192967380 2011-11-02 00:16:07,621 INFO org.apache.hadoop.io.compress.CodecPool: Got b= rand-new compressor 2011-11-02 00:16:07,621 FATAL org.apache.hadoop.hbase.regionserver.wal.HLog= : Could not append. Requesting close of hlog java.io.IOException: Reflection at org.apache.hadoop.hbase.regionserver.wal.SequenceFileLogWriter.s= ync(SequenceFileLogWriter.java:147) at org.apache.hadoop.hbase.regionserver.wal.HLog.sync(HLog.java:100= 2) at org.apache.hadoop.hbase.regionserver.wal.HLog.append(HLog.java:9= 55) at org.apache.hadoop.hbase.regionserver.HRegion.doMiniBatchPut(HReg= ion.java:1483) at org.apache.hadoop.hbase.regionserver.HRegion.put(HRegion.java:13= 92) at org.apache.hadoop.hbase.regionserver.HRegionServer.multi(HRegion= Server.java:2591) at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod= AccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:5= 70) at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.= java:1039) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod= AccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.hadoop.hbase.regionserver.wal.SequenceFileLogWriter.s= ync(SequenceFileLogWriter.java:145) ... 10 more Caused by: java.lang.NullPointerException at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.closeThreads(DF= SClient.java:3306) at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.sync(DFSClient.= java:3216) at org.apache.hadoop.fs.FSDataOutputStream.sync(FSDataOutputStream.= java:97) at org.apache.hadoop.io.SequenceFile$Writer.syncFs(SequenceFile.jav= a:944) ... 14 more This is probably not all ERRORS and FATALs I am continuing investigation an= d will post my other findings later. Can someone tell me what should I check else? Best regards, Vladimir Rodionov Principal Platform Engineer Carrier IQ, www.carrieriq.com e-mail: vrodionov@carrieriq.com ________________________________________ From: Todd Lipcon [todd@cloudera.com] Sent: Wednesday, November 02, 2011 12:53 PM To: dev@hbase.apache.org Subject: Re: HBASE-4120 table level priority It's up to each committer to decide how they want to allocate their time, of course, but I'd like to encourage folks to hold off on spending a lot of time on new 0.94 feature merges until we've gotten 0.92.0 stabilized and out the door. Big features like QoS need a fair amount of review, both on the general approach and on the specific implementation, before they can get merged. It's hard to find time for a thorough review when we're in the finishing stages of stabilizing a release. -Todd On Wed, Nov 2, 2011 at 12:23 PM, Ted Yu wrote: > Hi, > HBASE-4120 is a new feature for 0.94 that allows users to set different > priorities for their tables. > Priorities can also be assigned to methods (get's vs. put's). > > The new tests in the patch all pass. > > Please review the latest patch and provide your comments. > > Thanks > -- Todd Lipcon Software Engineer, Cloudera Confidentiality Notice: The information contained in this message, includi= ng any attachments hereto, may be confidential and is intended to be read o= nly by the individual or entity to whom this message is addressed. If the r= eader of this message is not the intended recipient or an agent or designee= of the intended recipient, please note that any review, use, disclosure or= distribution of this message or its attachments, in any form, is strictly = prohibited. If you have received this message in error, please immediately= notify the sender and/or Notifications@carrieriq.com and delete or destroy= any copy of this message and its attachments.