BTSA1 IndexInput EOF error
Posted in 2016
Topics: Data Types & Schema Design, Platform-Specific Issues
Hi All,
Strange one here. Informix 12.1.FC4 on Solaris 10.
I have 5 different instances with various forms of a database utilizing a BTS
index. Nothing is different across the instances with the index or the table
in question.
A programmer is trying to do an INSERT into the table with the BTS index, and
is receiving the following error **in only 1 instance**. The other 4 instances
work perfectly fine.
-----------
INSERT INTO name_dtl
(nm_id, nm_typ, first_nm, middle_nm, last_nm, full_nm, org_nm,
srch_first_nm, srch_middle_nm, srch_last_nm, srch_full_nm, srch_org_nm,
ce_id, add_dtm, add_by, mod_dtm, mod_by, pgm_nm)
SELECT 0, nm_typ, first_nm, middle_nm, last_nm, full_nm, org_nm,
srch_first_nm, srch_middle_nm, srch_last_nm, srch_full_nm, srch_org_nm,
163361, add_dtm, add_by, mod_dtm, mod_by, 't3124'
FROM name_dtl
WHERE nm_id = 89094;
(BTSA1) - bts clucene error: IO error: IndexInput read past EOF
---------------
The full_nm column (varchar 150) has the bts index on it.
Running the Select returns the appropriate record.
I did find this thread, but it does not address our specific issue -- we have
no problems with space and there are no errors in the message log.
http://www.iiug.org/forums/ids/index.cgi/read/24381
Any ideas? What else would you need to help diagnose the issue?
Thanks,
Mike Hoffman
Have you tried running something like oncheck -cdI against it? (I haven't used
BTS, so I don't know if it works...)
--EEM
> -----Original Message-----
> From: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] On Behalf Of
> MICHAEL HOFFMAN
> Sent: Monday, March 14, 2016 17:54 PM
> To: ids@iiug.org
> Subject: BTSA1 IndexInput EOF error [36739]
>
> Hi All,
> Strange one here. Informix 12.1.FC4 on Solaris 10.
>
> I have 5 different instances with various forms of a database utilizing
> a BTS index. Nothing is different across the instances with the index
> or the table in question.
>
> A programmer is trying to do an INSERT into the table with the BTS
> index, and is receiving the following error **in only 1 instance**. The
> other 4 instances work perfectly fine.
> -----------
> INSERT INTO name_dtl
> (nm_id, nm_typ, first_nm, middle_nm, last_nm, full_nm, org_nm,
> srch_first_nm, srch_middle_nm, srch_last_nm, srch_full_nm, srch_org_nm,
> ce_id, add_dtm, add_by, mod_dtm, mod_by, pgm_nm) SELECT 0, nm_typ,
> first_nm, middle_nm, last_nm, full_nm, org_nm, srch_first_nm,
> srch_middle_nm, srch_last_nm, srch_full_nm, srch_org_nm, 163361,
> add_dtm, add_by, mod_dtm, mod_by, 't3124'
> FROM name_dtl
> WHERE nm_id = 89094;>
> (BTSA1) - bts clucene error: IO error: IndexInput read past EOF
> ---------------
>
> The full_nm column (varchar 150) has the bts index on it.
>
> Running the Select returns the appropriate record.
>
> I did find this thread, but it does not address our specific issue --
> we have no problems with space and there are no errors in the message
> log.
> http://www.iiug.org/forums/ids/index.cgi/read/24381
>
> Any ideas? What else would you need to help diagnose the issue?
>
> Thanks,
> Mike Hoffman
>
>
> ***********************************************************************
> ********
> Forum Note: Use "Reply" to post a response in the discussion forum.
Since the bts index is considered an External index, oncheck passes
successfully, but doesn't seem to really do any verfications.
> Have you tried running something like oncheck -cdI against it? (I haven't
> used BTS, so I don't know if it works...)
> --EEM
Hi Michael,
The BTSA1 error is generated when the CLucene Open Source storage=20
interface detects an IO problem. the addition message: IndexInput read=20
past EOF +is generated "short" read from an index file (for example it=20
expects to read 16 bytes and gets something less than 16 bytes). It was=20
a seen in the first releases of BTS (11.10/11.50) but I have not seen it=20
reported in 11.70 or 12.10 defect.. Have you seen any additional messages =
in the online log at the time of the error like a no space message on a=20
sbspace or tempsbspace.=20
The storage interface is used for both the persistent storage of the=20
index, the temp storage (in temp sbspace/sbspace or in memory) used to=20
modify the index. If the error is happening while reading the persistent=20
storage, then you could see it on queries too.
I don't have any work around to this problem since its an error you should =
never see. I can only offer some generic solutions to try to resolve the=20
issue:
Compact the index:
begin work;
execute function bts=5Findex=5Fcompact('your index name');=20
commit on success, rollback on failure.
Essentially bts=5Findex=5Fcompact() will only compact the index if there we=
re=20
deletions done since the last compact operation. If you do not delete=20
rows from the table, the compact operation is a no-op.
The last option to try is to drop and recreate the bts index.
-----
If you can generate a repro of the problem, I would open an PMR get=20
support to open a product defect so we can investigate why CLucene is=20
generating the error.
-- Mark.
Mark Ashworth=20
Office phone: +1 (905) 413-5033=20
Email: mailto:ashworth@ca.ibm.com=20
Check out my blog=20
From: "MICHAEL HOFFMAN" <offdisc@gmail.com>
To: ids@iiug.org
Date: 03/14/2016 08:18 PM
Subject: BTSA1 IndexInput EOF error [36739]
Sent by: ids-bounces@iiug.org
Hi All,=20
Strange one here. Informix 12.1.FC4 on Solaris 10.=20
I have 5 different instances with various forms of a database utilizing a=20
BTS=20
index. Nothing is different across the instances with the index or the=20
table=20
in question.=20
A programmer is trying to do an INSERT into the table with the BTS index,=20
and=20
is receiving the following error **in only 1 instance**. The other 4=20
instances=20
work perfectly fine.=20
-----------=20
INSERT INTO name=5Fdtl=20
(nm=5Fid, nm=5Ftyp, first=5Fnm, middle=5Fnm, last=5Fnm, full=5Fnm, org=5Fnm=
,=20srch=5Ffirst=5Fnm, srch=5Fmiddle=5Fnm, srch=5Flast=5Fnm, srch=5Ffull=5Fnm, =
srch=5Forg=5Fnm,=20
ce=5Fid, add=5Fdtm, add=5Fby, mod=5Fdtm, mod=5Fby, pgm=5Fnm)=20
SELECT 0, nm=5Ftyp, first=5Fnm, middle=5Fnm, last=5Fnm, full=5Fnm, org=5Fnm=
,=20srch=5Ffirst=5Fnm, srch=5Fmiddle=5Fnm, srch=5Flast=5Fnm, srch=5Ffull=5Fnm, =
srch=5Forg=5Fnm,=20
163361, add=5Fdtm, add=5Fby, mod=5Fdtm, mod=5Fby, 't3124'=20
FROM name=5Fdtl=20
WHERE nm=5Fid =3D 89094;=20
(BTSA1) - bts clucene error: IO error: IndexInput read past EOF=20
---------------=20
The full=5Fnm column (varchar 150) has the bts index on it.=20
Running the Select returns the appropriate record.=20
I did find this thread, but it does not address our specific issue -- we=20
have=20
no problems with space and there are no errors in the message log.=20
http://www.iiug.org/forums/ids/index.cgi/read/24381=20
Any ideas? What else would you need to help diagnose the issue?=20
Thanks,=20
Mike Hoffman=20
***************************************************************************=
****=20
Forum Note: Use "Reply" to post a response in the discussion forum.=20
Is it too big to make a rebuild impractical? I know that's kind of a Micro$oft
type solution, but it may work.
> -----Original Message-----
> From: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] On Behalf Of
> MICHAEL HOFFMAN
> Sent: Tuesday, March 15, 2016 12:28 PM
> To: ids@iiug.org
> Subject: Re: RE: BTSA1 IndexInput EOF error [36749]
>
> Since the bts index is considered an External index, oncheck passes
> successfully, but doesn't seem to really do any verfications.
>
> > Have you tried running something like oncheck -cdI against it? (I
> > haven't used BTS, so I don't know if it works...) --EEM
>
>
> ***********************************************************************
> ********
> Forum Note: Use "Reply" to post a response in the discussion forum.