Toad World® Forums

Installed BMF 7.6 Beta: Issues running TPC-C job


#1

I cannot get a TPC-C test to run against EDB 9.5 Postgres Plus Advanced Server using ODBC driver. It always gets stuck on the “Create Objects for TPC-C” test.

In the database I created a user called pgtest that is a superuser and a db called pgtest that I drop & recreate between each attemped run.

Run 1

I create a TPC-C job with a Benchmark Scale of 1 (size 85.90 MB). Under Test Options, neither Distribute index creation nor Distribute load using Benchmark Factory Agents are enabled. I use the “Recreate objects and reload data every execution”.

Result: The database objects are all created but the data is never loaded into the tables. The job stays on the “Create Objects for TPC-C” test with a Status of “Loading Tables” and never finishes.

Messages:

TESTJOB2
Job Started
Starting Agent(s) on *******
Started test Create Objects for TPC-C
Delete Tables
Create Tables
Load Tables
ODBC Error (42P07,7, 1) - ERROR: relation “tpc_c_properties” already exists;
Error while executing the query

ODBC Error (42P07,7, 1) - ERROR: relation “tpc_c_load_progress” already exists;
Error while executing the query
Failed to create load progress table!
ODBC Error (42P07,7, 1) - ERROR: relation “tpc_c_load_progress” already exists;
Error while executing the query

Stopping test - Create Objects for TPC-C
Exceeded virtual user communication timeout. Continuing to stop test.
Test cancelled due to errors.
Shutting down Agent(s) on *********
** Job finished.
Total Time to perform the job:
Start Time: 3/10/2017 12:36:55 PM
End Time : 3/10/2017 12:48:30 PM
Elapsed : 0 Days 00:11:35.339

Run 2

Same as previous run, except under Test Options, I enable Distribute load using Benchmark Factory Agents with 9 virtual users.

Result: The database objects are all created and load begins and never ends. The Status gets to Load Data 100% on each of the tables but the loading continues. The job stays on the “Create Objects for TPC-C” step with a Status of “Loading Tables” and never finishes. It does say 100% complete, but if I look at the row counts they just keep increasing and the 2nd step TPC-C Transaction Mix never becomes active.

I then had to stop the job.

Messages:

TESTJOB2
Job Started
Starting Agent(s) on *****
Started test Create Objects for TPC-C
Delete Tables
Create Tables
Load Tables
Agent(*****) Error: ODBC Error (42P07,7, 1) - ERROR: relation “tpc_c_properties” already exists;
Error while executing the query
Stopping test - Create Objects for TPC-C
Test cancelled due to errors.
Shutting down Agent(s) on *****
** Job finished.
Total Time to perform the job:
Start Time: 3/10/2017 12:49:59 PM
End Time : 3/10/2017 1:02:01 PM
Elapsed : 0 Days 00:12:01.735

----------------------------------

If I just change the the database connection to be against an Oracle database it finishes successfully in about 7 minutes.

Thanks.

(By the way, I notice that no procedures are created in the EDB database - I guess this could be that the test just does straight ANSI SQL calls).


#2

We have been unable to reproduce the problem. Could you do the following for me please;

  • First try manually deleting all TPC-C tables, in particular the progress/properties tables, which will start with the benchmark name. Also make sure that there are no Agent or BFactory process running on any of the machines used during testing.

  • If that does not work, send me the Agent error log files which will contain additional error information.

  • Can you run another benchmark, like AS3AP, or do you get the same error message?

Thanks


#3

Just to make sure no processes are running, I restarted my PC. I also dropped & recreated the EDB database. I did not check off the option to use BMF Agents.

The TPC_* status tables were created and then the C_* data tables were created. After 10 minutes there was still no data in the tables… the following are the contents of the tpc_* tables:

pgtest=# select * from tpc_c_load_progress;

tablename | version | setnumber | prop_name | prop_value
-------------±--------±----------±------------±-----------
INIT_CREATE | 0 | 0 | INIT_CREATE | 0
(1 row)

pgtest=# select * from tpc_c_block_info;
tablename | current_block | max_block
-----------±--------------±----------
(0 rows)

pgtest=# select * from tpc_c_properties;
prop_name | prop_value
-----------±-----------
Scale |
BACKUP |

(2 rows)

BMF Error Log

** File Opened at: (3/13/2017 9:07:53 AM)
Benchmark Factory Console
Version: 7.6
Build: 79
Copyright 2017 Quest Software Inc.

Job Run Log

** File Opened at: (3/13/2017 9:09:53 AM)
Benchmark Factory Agent
Version: 7.6.0
Build: 79
Copyright 2017 Quest Software Inc.

Messages tab in GUI

TPC-C Job
Job Started
Starting Agent(s) on IST0FAB-2TP79Y1
Started test Create Objects for TPC-C
Checking for existing objects…
Create Tables
Load Tables
Backup for table C_Stock could not be found. Recreating backup using normal inserts.
Backup for table C_District could not be found. Recreating backup using normal inserts.
Backup for table C_New_Order could not be found. Recreating backup using normal inserts.
Backup for table C_Customer could not be found. Recreating backup using normal inserts.
Backup for table C_Order_Line could not be found. Recreating backup using normal inserts.
Failed to create initial backup for table C_Order_Line
Backup for table C_Item could not be found. Recreating backup using normal inserts.
Backup for table C_History could not be found. Recreating backup using normal inserts.
Backup for table C_Warehouse could not be found. Recreating backup using normal inserts.
Backup for table C_Order could not be found. Recreating backup using normal inserts.
Stopping test - Create Objects for TPC-C
Exceeded virtual user communication timeout. Continuing to stop test.
Test cancelled due to errors.
Shutting down Agent(s) on IST0FAB-2TP79Y1
** Job finished.
Total Time to perform the job:
Start Time: 3/13/2017 9:09:53 AM
End Time : 3/13/2017 9:21:28 AM
Elapsed : 0 Days 00:11:35.386

I ran the AS3AP job with the same results. Data tables created but no rows. The corresponding AS3AP progress files have the same data as the TPC run.

Is there another flag I can pass on the command line to enable more debugging?


#4

Update… I ran the test against the Open Source PostgreSQL database and it ran fine. The situations I gave prior were with the EDB PostgreSQL Plus Advanced Server.

I notice that now under the Beta version that when I create the datasource in BMF and click on “Detect Environment Information” that the Database Type and Version are now picked up correctly (if its a PostgreSQL database). However, nothing is picked up if I am pointing to an EDB PPAS database. Maybe this is where the issue is? I have tried to manually add the “Database Type” but it adds it as an extra property.

Ed


#5

Great timing! That is just what I was looking into and is what is causing the errors since BMF doesn’t know what database it is. It might be an issue with the the PostgreSQL ODBC driver also. What ODBC driver and version are you using?


#6

Drivers:

PostgreSQL ANSI(x64) 9.05.04.00, PostgreSQL Global Development Group PSQLODBC30A.DLL (7/30/2016).

EnterpriseDB (ANSI) 9.03.400.02, EnterpriseDB EDB-ODBCA.DLL (1/20/2016).

I notice that if I change the driver used for the EDB database to the PostgreSQL ANSI driver, then it is recognized as a PostgreSQL database and the test appears to complete properly.

Ed


#7

Sounds like a bug with the EDB ODBC driver then. I looked on the web to see if there where any known issues but did not find any yet. When using this ODBC driver what was the Database Type as shown on the BMF Connection page? Was it blank?


#8

It was blank.