Additional information

Review the following for additional information on resizing files online, D-pointer controls and the lost+found file.

Resizing files online

D3 files can be resized using the online file resizing utility on the master server. The files are resized on both the master and slave server.

D-pointer controls

To write data to files, the slave server performs controls on the file-defining D-Pointers located on the slave server. The slave server does not automatically change the file-defining D-Pointers. Some of the controls the slave server performs include:

  • Update protections are removed to ensure that the slave server is able to write to the file.

  • callx correlatives are changed to use explicit path names to the subroutines. The account and file name where the subroutine resides is found in the cataloged object in the master dictionary of the account where the file is located. If the subroutine is not found, the callx correlative is removed.

  • Bridges to other files are controlled to use an explicit path name to the target file. If the file cannot be found, the bridge is removed.

CAUTION:
The amount of control is limited. For example, references to files in FlashBASIC and a correlatives are not controlled. Therefore, if precautions are not taken, it is possible that the slave server will abort trying to update such a file. Note that no data loss occurs because the offending transaction acknowledges and retransmits. Starting the server with the traces feature set to ON identifies which items and files cause the problem.

lost+found file

When a slave server is unable to process a transaction (for example, the account does not exist and the automatic creation of missing accounts is disabled), the transaction is stored in the hb.log,lost+found trash file. The item-IDs of these files are unique timedate stamps. This file can be used to recover the salvaged data. The format of an item is:

Item type. Can be one of these:

  • Unknown transaction code.

  • Slave server was reset.

  • Internal error.

  • Time out on transaction can occur when stopping the master server.

  • Bad network message.

  • Cannot perform the operation. An error message usually indicates the cause of the problem.

  • Cannot update D-Pointer. There is a D-Pointer-like element in the master dictionary or file dictionary preventing the creation of the file. This item was deleted to allow the file creation and its content written starting at the attribute 10.

  • Master dictionary of the account in which the slave server is running (for example, dm) contains an item that collides with the name of an account. Though this is normally authorized, this is not a good practice. The server removes this item and dumps the content of this item.

  • Slave server removed a correlative from a D-Pointer because it could not resolve a reference to a callx subroutine or to a bridge. The lost+found item contains the removed correlative.

  • Transaction could not be processed when applying delayed updates.

  • Incorrect transaction length.

Transaction opcode, if applicable, or question mark.
Server name.
Log internal time.
Log internal date.
Transaction number.
Last ACK transaction number.
Message.
Time and date in external format.
Body of the transaction that could not be processed or any data the server could not handle, in hexadecimal.
Note: The data in the lost+found item may be incomplete.