dbTalk Databases Forums  

[Info-Ingres] FW: interpreting log_trace output

comp.databases.ingres comp.databases.ingres


Discuss [Info-Ingres] FW: interpreting log_trace output in the comp.databases.ingres forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Martin Bowes
 
Posts: n/a

Default [Info-Ingres] FW: interpreting log_trace output - 05-14-2009 , 09:28 AM






That patch has a huge effect! it probably halves the amount of space
reserved, if not more.

Nonethless it still doesn't explain why the evil programmers blew the
log apart. I suspect that I'll find out more tomorrow after I get the
security_audit list of what they actually did.

Marty

-----Original Message-----
From: Martin Bowes
Sent: 14 May 2009 15:20
To: 'Robert Kibble'
Subject: RE: [Info-Ingres] interpreting log_trace output

Hi Robert,

I've just applied 13355 to one of the 9.1.1 installations and plan to
move it around more next week. Sadly this particular host is locked into
9.0.4 for quite a few more months.

I'll run the test case on the 13355 patched installation and see what
happens.

Marty

-----Original Message-----
From: Robert Kibble [mailto:Robert.Kibble (AT) ingres (DOT) com]
Sent: 14 May 2009 15:10
To: Martin Bowes
Subject: RE: [Info-Ingres] interpreting log_trace output

You are correct - it's not in that patch. That looks likely to be the
reason for the large number of mostly-empty buffers - buffers were being
forced to disk for all sorts of erroneous reasons. You'll almost
certainly get much better results if you upgrade to a version with that
fix in.

There are no 9.0.4 a64.lnx patches containing that fix, but the latest
a64.lnx 9.1.1 patch (patch 13355) does contain it.

-----Original Message-----
From: Martin Bowes [mailto:martin.bowes (AT) ctsu (DOT) ox.ac.uk]
Sent: 14 May 2009 14:59
To: Ingres and related product discussion forum
Cc: Robert Kibble
Subject: RE: [Info-Ingres] interpreting log_trace output

Hi Robert,

II 9.0.4 (a64.lnx/105)NPTL + p12707


That bug does not appear to be in this patch.

Marty
-----Original Message-----
From: info-ingres-bounces (AT) kettleriver...ting (DOT) com
[mailto:info-ingres-bounces (AT) kettleriverconsulting (DOT) com] On Behalf Of
Robert Kibble
Sent: 14 May 2009 14:45
To: Ingres and related product discussion forum
Subject: Re: [Info-Ingres] interpreting log_trace output

What exact version are you on?

The bug Karl is referring to is bug 119663, I believe:

119663
(GENERIC)
The transaction logging process reserves far more space than is
required for recovery, especially when the transaction log file
has a large buffer size.


-----Original Message-----
From: info-ingres-bounces (AT) kettleriver...ting (DOT) com
[mailto:info-ingres-bounces (AT) kettleriverconsulting (DOT) com] On Behalf Of Karl
& Betty Schendel
Sent: 14 May 2009 12:19
To: Ingres and related product discussion forum
Subject: Re: [Info-Ingres] interpreting log_trace output


On May 14, 2009, at 5:01 AM, Martin Bowes wrote:

Quote:
Hi everyone,



I'm running on 9.0.4 and it appears to be logging excessively. ...

[snip]
To me, this looks like it's saying each row takes 276 bytes to
write and that we appear to be getting 11 rows per buffer.



So then:

1. Why is an insert of 171 bytes taking 276 to log? I thought the
logging overhead was about 70bytes not 105. Or am I
misinterpretting the written/reserved figures?

The log record overhead for a put is on the order of 36 bytes plus
the standard
log record header, which is about 50-ish bytes. But it turns out
that it
also logs the table name and owner as part of the put record. That
is probably
where your extra bytes are.

Quote:
2. 11 * 276 = 3036 < 4096...so it doesn't look like we are filling
the log buffers.

The EMINI's are forced, so the log buffer is written unconditionally
at that point,
no matter how full it is. They aren't often enough to explain your
numbers,
though.

It might be forcing because of writing out cache pages, but that
seems a bit odd
as well; no reason that the table pages should be so picked on.

I wonder if your version was still forcing ALLOC's. That would
explain some of
the excessive log writing, at least. There was a change dated early
last
year to stop forcing ALLOC log records on fast commit, sole-cache
servers;
I have no idea how that change date translates to versions and
patches, though.
If your Ingres predates this change, it will be forcing ALLOC's and
EXTEND's;
the latter occurs immediately before the EMINI which is also forced. It
could be wasting the equivalent of 3 or 4 log buffers at every extend
point,
which is 16 table pages for the default extend= setting.

Quote:
But if we get 11 rows per buffer, the entire transaction should
take (140000/11)=12727 buffers.

Double that for CLR's, and call it 26000 buffers.

How the hell did we just blow the 500000 buffer log file out of the
water?



Well, remember that force abort limit is usually something like 70% of
the log, so you don't really have 500,000 blocks. But it does seem like
something is astray, or at least not understood.

Karl


_______________________________________________
Info-Ingres mailing list
Info-Ingres (AT) kettleriverconsulting (DOT) com
http://www.kettleriverconsulting.com...fo/info-ingres

_______________________________________________
Info-Ingres mailing list
Info-Ingres (AT) kettleriverconsulting (DOT) com
http://www.kettleriverconsulting.com...fo/info-ingres



Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.