Checking for bad files
Instructions on how to check for large amounts of bad files.
Procedure
$WMCROOT/var/loader/spool/<datasourcename>/<datasourceversion>/bad
If there is a large number of bad files in either of these directories the loader log files should be checked. Loader log files are stored in the $WMCROOT/logs/loader directory.
Results
The following is an example output from a loader log file.
12:23:51,756 INFO [DataLoader] TaskId[2]. File processing started for
[INUSE.MSC_1-#-CELL_DATA-#-BSS9.20081016.12.00.1-2-1.lif],
12:23:53,537 INFO [LoadMapBlockPool] TaskID[2], [CELL_DATA] LoadMap block loaded successfully
12:23:54,175 INFO [ExpressionMapPool] TaskID[2], [CELL_DATA] LoadMap block compiled successfully
12:23:55,182 INFO [MasterCacheRequest] TaskID[2], Master Request. No Blocks [100 Diffs 1].
12:23:55,191 INFO [MasterCacheRequest] TaskID[2], Table [NC_BSC] version[0].
Number of lookups [2]. Number of diff [1]. Times [,Wed Feb 25 10:40:00 GMT 2009,
Wed Feb 25 13:56:00 GMT 2009]12:23:55,193 INFO [MasterCacheRequest] TaskID[2],
Table [NC_CELL] version[0].
Number of lookups [100]. Number of diff [1]. Times [,Wed Feb 25 10:40:00 GMT 2009,
Wed Feb 25 13:56:00 GMT 2009]12:23:55,318 INFO [MasterCacheResponse] TaskID[2],
Master Response. Return Code [RELOAD]12:23:55,320 INFO [MasterCacheResponse] TaskID[2],
Table[NC_CELL] version[32].
Number of new/updated rows[1].12:23:55,377 INFO [MasterCacheRequest] TaskID[2],
Master Request. No Blocks [100 Diffs 1].12:23:55,379 INFO [MasterCacheRequest] TaskID[2],
Table [NC_CELL] version[32].
Number of lookups [100]. Number of diff [1]. Times [,Wed Feb 25 10:40:00 GMT 2009,
Wed Feb 25 13:56:00 GMT 2009]12:23:55,575 INFO [MasterCacheResponse] TaskID[2],
Master Response. Return Code [RELOAD]12:23:55,576 INFO [MasterCacheResponse] TaskID[2],
Table[NC_CELL] version[null]. Number of new/updated rows[100].12:23:55,599 INFO
[MasterCacheRequest] TaskID[2], Master Request. No Blocks [100 Diffs 0].
12:23:55,601 INFO [MasterCacheRequest] TaskID[2], Table [NC_CELL] version[32].
Number of lookups [0]. Number of diff [0]. Times []12:23:55,613 INFO
[MasterCacheResponse] TaskID[2], Master Response. Return Code [OK]
12:23:55,859 INFO [TableDAO] TaskID[2], Table [VNL_CELL_SDCCH_TAB], Evaluated [100]
rows with null data for one or more of the columns [[V165GLHAHL26SEC5R00HW01QK4]]
12:23:55,921 INFO [TableDAO] TaskID[2], Merged [100] rows into
traffic table [VNL_CELL_SDCCH_TAB]
12:23:56,038 INFO [TableDAO] TaskID[2], Merged [100] rows
into traffic table [VNL_CELL_INTERFERENCE_TAB]
12:23:56,287 INFO [TableDAO] TaskID[2], Merged [100] rows
into traffic table [VNL_CELL_HANDVR_RSLT_TAB]12:23:56,358 INFO [TableDAO]
TaskID[2], Table [VNL_CELL_TCH_TAB], Evaluated [100]
rows with null data for one or more of the columns [[V1LL006AHL26SEC5R00HW01QK4]]
12:23:56,428 INFO [TableDAO] TaskID[2], Merged [100] rows
into traffic table [VNL_CELL_TCH_TAB]12:23:56,560 INFO [DAHandler] TaskID[2],
Calculated DA information
da_loaded_tables[4] wml_loaded_table_interval[2] da_loaded_blocks[0]
12:23:56,560 INFO [DAHandler] TaskID[2], DA:Not writing data to tables yet.
Cache size[6], Max Size[1000]
12:23:56,562 INFO [AlarmHandler] TaskID[2], Sending [0] alarm objects to
the alarm cache from file
[/appl/virtuo/var/loader/spool/nokiabss_oss31ed3/OSS3.1_ED3/
INUSE.MSC_1-#-CELL_DATA-#-BSS9.20081016.12.00.1-2-1.lif]
12:23:56,563 INFO [FinalHandler] TaskID[2], File processing finished for
[/appl/virtuo/var/loader/spool/nokiabss_oss31ed3/OSS3.1_ED3/
INUSE.MSC_1-#-CELL_DATA-#-BSS9.20081016.12.00.1-2-1.lif] with result [true]
loading time [4] sec
12:23:56,563 INFO [FinalHandler] TaskID[2], No of processed blocks [100];
No of bad blocks: [0]; No of unprocessed blocks: [0]
12:23:57,629 INFO [DAHandler] TaskID[2], DA:Writing data to tables.
da_loaded_tables[4] wml_loaded_table_interval[2] da_loaded_blocks[0]
12:23:57,689 INFO [DAAbstractDAO] TaskID[2], Merged [4] rows into table
[wml_loaded_table_interval] for period [Start : Wed Feb 25 10:40:00 GMT 2009
End Wed Feb 25 11:10:00 GMT 2009]
12:23:57,720 INFO [DAAbstractDAO] TaskID[2], Merged [4] rows into table
[wml_loaded_table_interval] for period [Start : Wed Feb 25 13:56:00 GMT 2009
End Wed Feb 25 14:26:00 GMT 2009]
12:23:57,747 INFO [DAAbstractDAO] TaskID[2], Merged [4] rows into table
[da_loaded_tables] for period [Start : Wed Feb 25 10:40:00 GMT 2009
End Wed Feb 25 14:26:00 GMT 2009]If the loader is sending lif files to the bad directory a number of SQL error messages might be generated. The example shows an error in a loader log file.
12:29:08,764 ERROR [TrafficHandler] SQL_INSERT Could not insert [1] rows into table [NC_CELL]
SQL_INSERT Could not insert [1] rows into table [NC_CELL]
at com.ibm.tivoli.tnpmw.loader.dao.NcDAO.insert(NcDAO.java:140)
at com.ibm.tivoli.tnpmw.loader.cache.nc.master.
NcMasterCache.persistData(NcMasterCache.java:692)
at com.ibm.tivoli.tnpmw.loader.cache.nc.master.NcMasterCache.
applyFileDiff(NcMasterCache.java:412)
at com.ibm.tivoli.tnpmw.loader.cache.nc.master.NcMasterCache.
processRequest(NcMasterCache.java:319)
at com.ibm.tivoli.tnpmw.loader.cache.nc.master.rmi.NCCacheRemoteImpl.
processRequest(NCCacheRemoteImpl.java:205)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
at sun.rmi.transport.Transport$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.sql.BatchUpdateException:
ORA-12899: value too large for column "VIRTUO"."NC_CELL"."CELL_ID"
(actual: 98, maximum: 50)at oracle.jdbc.driver.DatabaseError.
throwBatchUpdateException(DatabaseError.java:343)
at oracle.jdbc.driver.OraclePreparedStatement.
executeBatch(OraclePreparedStatement.java:10720)
at com.ibm.tivoli.tnpmw.loader.dao.NcDAO.insert(NcDAO.java:131)
... 15 moreExample
The Oracle oerr ora command can be used to provide additional information about the problem.
For example:
oerr ora 1400
01400, 00000, "cannot insert NULL into (%s)"In some cases lif files may go to the bad directory and there may be very little information in the error logs to track the problem. In such cases the log level can be set to a higher level to produce logs with more information.
DEBUG for short
periods of time because the logs that are generated can be very large. Log level
INFO is the normal logging requirement.