Improve error messages in reorderbuffer.c.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 30 Apr 2014 22:16:53 +0000 (18:16 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 30 Apr 2014 22:16:53 +0000 (18:16 -0400)
Be more clear about failure cases in relfilenode->relation lookup,
and fix some other places that were inconsistent or not per our
message style guidelines.

Andres Freund and Tom Lane

src/backend/replication/logical/reorderbuffer.c

index a89099b50366c585c3fcb324bf8e58cf857ee1e8..e0e9e5c5b89f2441b7101fde93b1763691b92c7e 100644 (file)
@@ -1355,14 +1355,17 @@ ReorderBufferCommit(ReorderBuffer *rb, TransactionId xid,
                                                change->data.tp.oldtuple == NULL)
                                                continue;
                                        else if (reloid == InvalidOid)
-                                               elog(ERROR, "could not lookup relation %s",
-                                                        relpathperm(change->data.tp.relnode, MAIN_FORKNUM));
+                                               elog(ERROR, "could not map filenode \"%s\" to relation OID",
+                                                        relpathperm(change->data.tp.relnode,
+                                                                                MAIN_FORKNUM));
 
                                        relation = RelationIdGetRelation(reloid);
 
                                        if (relation == NULL)
-                                               elog(ERROR, "could open relation descriptor %s",
-                                                        relpathperm(change->data.tp.relnode, MAIN_FORKNUM));
+                                               elog(ERROR, "could not open relation with OID %u (for filenode \"%s\")",
+                                                        reloid,
+                                                        relpathperm(change->data.tp.relnode,
+                                                                                MAIN_FORKNUM));
 
                                        if (RelationIsLogicallyLogged(relation))
                                        {
@@ -1475,7 +1478,7 @@ ReorderBufferCommit(ReorderBuffer *rb, TransactionId xid,
 
                /* this is just a sanity check against bad output plugin behaviour */
                if (GetCurrentTransactionIdIfAny() != InvalidTransactionId)
-                       elog(ERROR, "output plugin used xid %u",
+                       elog(ERROR, "output plugin used XID %u",
                                 GetCurrentTransactionId());
 
                /* make sure there's no cache pollution */
@@ -1903,7 +1906,7 @@ ReorderBufferSerializeTXN(ReorderBuffer *rb, ReorderBufferTXN *txn)
        Size            spilled = 0;
        char            path[MAXPGPATH];
 
-       elog(DEBUG2, "spill %u changes in tx %u to disk",
+       elog(DEBUG2, "spill %u changes in XID %u to disk",
                 (uint32) txn->nentries_mem, txn->xid);
 
        /* do the same to all child TXs */
@@ -2086,7 +2089,7 @@ ReorderBufferSerializeChange(ReorderBuffer *rb, ReorderBufferTXN *txn,
                CloseTransientFile(fd);
                ereport(ERROR,
                                (errcode_for_file_access(),
-                                errmsg("could not write to xid %u's data file: %m",
+                                errmsg("could not write to data file for XID %u: %m",
                                                txn->xid)));
        }
 
@@ -2189,7 +2192,7 @@ ReorderBufferRestoreChanges(ReorderBuffer *rb, ReorderBufferTXN *txn,
                else if (readBytes != sizeof(ReorderBufferDiskChange))
                        ereport(ERROR,
                                        (errcode_for_file_access(),
-                                        errmsg("incomplete read from reorderbuffer spill file: read %d instead of %u",
+                                        errmsg("incomplete read from reorderbuffer spill file: read %d instead of %u bytes",
                                                        readBytes,
                                                        (uint32) sizeof(ReorderBufferDiskChange))));
 
@@ -2209,7 +2212,7 @@ ReorderBufferRestoreChanges(ReorderBuffer *rb, ReorderBufferTXN *txn,
                else if (readBytes != ondisk->size - sizeof(ReorderBufferDiskChange))
                        ereport(ERROR,
                                        (errcode_for_file_access(),
-                                        errmsg("could not read from reorderbuffer spill file: read %d instead of %u",
+                                        errmsg("could not read from reorderbuffer spill file: read %d instead of %u bytes",
                                                        readBytes,
                                                        (uint32) (ondisk->size - sizeof(ReorderBufferDiskChange)))));
 
@@ -2815,7 +2818,7 @@ ApplyLogicalMappingFile(HTAB *tuplecid_data, Oid relid, const char *fname)
                else if (readBytes != sizeof(LogicalRewriteMappingData))
                        ereport(ERROR,
                                        (errcode_for_file_access(),
-                                        errmsg("could not read file \"%s\", read %d instead of %d",
+                                        errmsg("could not read from file \"%s\": read %d instead of %d bytes",
                                                        path, readBytes,
                                                        (int32) sizeof(LogicalRewriteMappingData))));
 
@@ -2928,7 +2931,7 @@ UpdateLogicalMappings(HTAB *tuplecid_data, Oid relid, Snapshot snapshot)
                if (sscanf(mapping_de->d_name, LOGICAL_REWRITE_FORMAT,
                                   &f_dboid, &f_relid, &f_hi, &f_lo,
                                   &f_mapped_xid, &f_create_xid) != 6)
-                       elog(ERROR, "could not parse fname %s", mapping_de->d_name);
+                       elog(ERROR, "could not parse filename \"%s\"", mapping_de->d_name);
 
                f_lsn = ((uint64) f_hi) << 32 | f_lo;
 
@@ -2971,7 +2974,7 @@ UpdateLogicalMappings(HTAB *tuplecid_data, Oid relid, Snapshot snapshot)
        for(off = 0; off < list_length(files); off++)
        {
                RewriteMappingFile *f = files_a[off];
-               elog(DEBUG1, "applying mapping: %s in %u", f->fname,
+               elog(DEBUG1, "applying mapping: \"%s\" in %u", f->fname,
                        snapshot->subxip[0]);
                ApplyLogicalMappingFile(tuplecid_data, relid, f->fname);
                pfree(f);