Return-Path: X-Original-To: apmail-db-derby-user-archive@www.apache.org Delivered-To: apmail-db-derby-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E67684237 for ; Wed, 8 Jun 2011 13:10:01 +0000 (UTC) Received: (qmail 40850 invoked by uid 500); 8 Jun 2011 13:10:01 -0000 Delivered-To: apmail-db-derby-user-archive@db.apache.org Received: (qmail 40808 invoked by uid 500); 8 Jun 2011 13:10:00 -0000 Mailing-List: contact derby-user-help@db.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: Reply-To: "Derby Discussion" Delivered-To: mailing list derby-user@db.apache.org Received: (qmail 40801 invoked by uid 99); 8 Jun 2011 13:10:00 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Jun 2011 13:10:00 +0000 X-ASF-Spam-Status: No, hits=2.9 required=5.0 tests=FREEMAIL_FROM,FS_REPLICA,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of brett.wooldridge@gmail.com designates 209.85.214.44 as permitted sender) Received: from [209.85.214.44] (HELO mail-bw0-f44.google.com) (209.85.214.44) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Jun 2011 13:09:54 +0000 Received: by bwz13 with SMTP id 13so489296bwz.31 for ; Wed, 08 Jun 2011 06:09:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=4ELJw5b2y0jkd8GGVBqFinCWZcTAbc3V2r3kHZaSRJ0=; b=taj/UzcOavNEdLVwfqN1/70nXJc1d+71HJwLj/zerzCU1oKefMoCfzir9hadPDZ4Uz V3/Ge7171M8jTBRDpYUkisZKdXHOJjZsRDXeQ4IU5BVqYT5fnn7RTxDQP5Cvuj+U5fs3 3OJ4thq3boKFlZrgLZdu/xjhjr40k8HMwavLo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding; b=BKlq3AgGzu4Xw2vbbULihw3FMzudFm8Sh0w0ElATfEUn/0BaJti32xqSUdi9zBV22l uWPQeAVkOsymOct3xVkVn8kzSFMM2LB/MZuLkYzsFCosvwZqnHX1rgbWbJK3hi22TIqD IWT1x0r7N7ebHZfXrAqZI8mqqi+o06QqdK/s8= MIME-Version: 1.0 Received: by 10.204.82.149 with SMTP id b21mr542356bkl.196.1307538573123; Wed, 08 Jun 2011 06:09:33 -0700 (PDT) Received: by 10.204.50.211 with HTTP; Wed, 8 Jun 2011 06:09:33 -0700 (PDT) Date: Wed, 8 Jun 2011 22:09:33 +0900 Message-ID: Subject: LOBs/Replication From: Brett Wooldridge To: Derby Discussion Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable I have a question about replication as it pertains to LOBs (BLOBs and CLOBs= ). According to the documentation... If the master looses connection with the slave, "transactions are allowed to continue processing while the master tries to reconnect with the slave. Log records generated while the connection is down are buffered in main memory. If the log buffer reaches its size limit before the connection can be reestablished, the master replication functionality is stopped." And the documentation for=A0derby.replication.logBufferSize says the maximum size of the buffer is=A01048576 (1MB). This seems to imply that if I have a database in which I store LOBs which are, for example, 256K in size, and the connection between master and slave is sever= ed, I can perform 4 inserts or less before the master gives up. =A0Is this so? =A0If this is in fact the case, I would like to file a request that this limit be=A0raised considerably or eliminated altogether. I have two servers (master and slave)=A0running 64-bit JVMs, 64GB of memory= each, SSD drives, connected by 10GbE=A0fiber. =A0I would like to dedicate=A0as much memory as I want to deal with a disconnect/resume scenario (to avoid the onerous failover). =A0At an insertion rate of 16 rows per=A0second (~4MB), currently the setup would tolerate a connection interruption of a fraction=A0of a second. =A0A 1GB buffer would afford a connection interruption of ~250 seconds (for=A0example, rebooting the fiber switch). Last question, aimed at devs, why does Derby even bother to buffer logs in memory? Can't it just keep an offset/marker into the transaction log files, and replay transactions from there, rather than buffering them in memory? Regards, Brett