Thread: Error: cannot write block XX of XXXXX/XXXXX blind: resource tempo rarily unavailable

Error: cannot write block XX of XXXXX/XXXXX blind: resource tempo rarily unavailable

From
"Stock, Stuart H."
Date:
  All,

  After searching the mailing list archives, Deja's
comp.databases.postgresql.* archives, the Postgres docs, and Google I cannot
find an answer to a strange error I am seeing, so I seek your wisdom.

  I am running Postgresql 7.1.1 compiled with GCC 2.95.2 on a Sun 220
Solaris 2.8 box and am experiencing the following error:

DEBUG:  mdblindwrt: close() failed: Resource temporarily unavailable
ERROR:  cannot write block 44 of 2139949/2405766 blind: Resource temporarily
unavailable

  The block numbers are different each time the error occurs but the message
is the same each time.  The error typically occurs once or twice a day, but
sometimes it occurs three ties in a row.  The error usually crops up during
large INSERTS or SELECTS.  A user process attached to the database (we have
JDBC, DBI, and direct psql access occurring simultaneously) that encounters
the error can re-attempt the query after about 10 seconds and it will
succeed. The Postgresql database has been vacuumdb'ed.

  I increased WAL_FILES to 4 and set the Solaris shared memory settings to
the documentation's recommended setting and the rate of errors seemed to
decrease slightly but I could just be imagining things. ;)  The database
resides on an NFS mount served by a Network Appliance.  We have a Versant
OODB running over the same NFS mounts without problems.

  Any pointers or suggestions would be greatly appreciated.


Stuart Stock
Banc of America, LLC
Program Trading




_____________________________________________________________________
IMPORTANT NOTICES:
          This message is intended only for the addressee. Please notify the
sender by e-mail if you are not the intended recipient. If you are not the
intended recipient, you may not copy, disclose, or distribute this message
or its contents to any other person and any such actions may be unlawful.

         Banc of America Securities LLC("BAS") does not accept time
sensitive, action-oriented messages or transaction orders, including orders
to purchase or sell securities, via e-mail.

         BAS reserves the right to monitor and review the content of all
messages sent to or from this e-mail address. Messages sent to or from this
e-mail address may be stored on the BAS e-mail system.



"Stock, Stuart H." <Stuart.H.Stock@bofasecurities.com> writes:
>   I am running Postgresql 7.1.1 compiled with GCC 2.95.2 on a Sun 220
> Solaris 2.8 box and am experiencing the following error:
> DEBUG:  mdblindwrt: close() failed: Resource temporarily unavailable
> ERROR:  cannot write block 44 of 2139949/2405766 blind: Resource temporarily
> unavailable

Ugh.  Seems like you are running out of kernel-level resources.  How
could a close() fail, anyway?

> The database resides on an NFS mount served by a Network Appliance.

We generally don't recommend running production databases over NFS.
This seems to be a perfect example of why not to.

You might be able to make this particular problem go away by decreasing
MaxBackends or decreasing the number of files each individual backend
will try to open --- the latter would take some hand hacking of
pg_nofile() in src/backend/storage/file/fd.c.  But I suspect you will
continue to encounter grief until you get rid of the NFS mount.

            regards, tom lane