Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: Giraffe
-
Fix Version/s: Giraffe
-
Component/s: Admax (bidding/budgeting)
-
Labels:None
-
Environment:
bidmgr RC
-
Sprint:Sprint 8
Description
Downloading staging data fails for Bing when AvgPos is empty.
When AveragePosition value is empty in the xml file, downloading staging data into bingAdmax fails.
xml file content: /var/local/tsa/sedata/bing/tsa-bing-report-admax-2016-12-18-U1852.xml.zip
<CampaignPerformanceReportColumns>
<Column name="CampaignId" />
<Column name="Clicks" />
<Column name="Spend" />
<Column name="AveragePosition" />
</CampaignPerformanceReportColumns>
<Table>
<Row>
<CampaignId value="234312364" />
<Clicks value="0" />
<Spend value="0.00" />
<AveragePosition value="" />
</Row>
<Row>
<CampaignId value="234312366" />
<Clicks value="0" />
<Spend value="0.00" />
<AveragePosition value="1.00" />
Log error:
./bingreport.sh -d3 -rt admax -T2016-12-18 -U1852 -z Etc/GMT
2016-12-19 11:28:32.963 (3) [P1T1]: Deleting existing records where ((`date`="2016-12-18") and (`campaignid` in ("234312363","234312364","234312365","234312366")))
2016-12-19 11:28:32.965 (3) [P1T1]: Inserting new data into staging.bingAdMax
2016-12-19 11:28:32.991 (1) [P1T1]: Exception [Error on line 1: 2016-12-18 234312364 0 0.00 ]:java.sql.SQLException: No value specified for parameter 9
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1078)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:975)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:920)
at com.mysql.jdbc.PreparedStatement.checkAllParametersSet(PreparedStatement.java:2611)
at com.mysql.jdbc.PreparedStatement.addBatch(PreparedStatement.java:1032)
at com.thesearchagency.db.util.BatchInsertUtil.parseFileUsingSplit(BatchInsertUtil.java:351)
at com.thesearchagency.db.util.BatchInsertUtil.batchInsertFromFile(BatchInsertUtil.java:157)
at com.thesearchagency.db.util.BatchInsertUtil.batchInsertFromFile(BatchInsertUtil.java:84)
at com.thesearchagency.db.util.BatchInsertUtil.batchInsertFromFile(BatchInsertUtil.java:61)
at com.thesearchagency.searchengines.bing.BingSearchEngine.parseReport(BingSearchEngine.java:1320)
at com.thesearchagency.searchengines.bing.reporting.BingReportSEUserWorker.call(BingReportSEUserWorker.java:102)
at com.thesearchagency.searchengines.bing.reporting.BingReportSEUserWorker.call(BingReportSEUserWorker.java:30)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
2016-12-19 11:28:32.992 (1) [P1T1]: Exception [error inserting SQL rows into staging.bingAdMax from file /tmp/temp_2016-12-188192252414148785506.tmp]:java.sql.SQLException: No value specified for parameter 9
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1078)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:975)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:920)
at com.mysql.jdbc.PreparedStatement.checkAllParametersSet(PreparedStatement.java:2611)
at com.mysql.jdbc.PreparedStatement.addBatch(PreparedStatement.java:1032)
at com.thesearchagency.db.util.BatchInsertUtil.parseFileUsingSplit(BatchInsertUtil.java:351)
at com.thesearchagency.db.util.BatchInsertUtil.batchInsertFromFile(BatchInsertUtil.java:157)
at com.thesearchagency.db.util.BatchInsertUtil.batchInsertFromFile(BatchInsertUtil.java:84)
at com.thesearchagency.db.util.BatchInsertUtil.batchInsertFromFile(BatchInsertUtil.java:61)
at com.thesearchagency.searchengines.bing.BingSearchEngine.parseReport(BingSearchEngine.java:1320)
at com.thesearchagency.searchengines.bing.reporting.BingReportSEUserWorker.call(BingReportSEUserWorker.java:102)
at com.thesearchagency.searchengines.bing.reporting.BingReportSEUserWorker.call(BingReportSEUserWorker.java:30)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
2016-12-19 11:28:32.993 (3) [P1T1]: === Completed search engine user #1852 e7f6dc30-cfb2-412a-9b99-bde532891c2e_2_qa4amltest_Performance data GA, search engine identifier 65065782 ===
2016-12-19 11:28:32.994 (3) [main]: ------------BingReport done
2016-12-19 11:28:32.994 (3) [main]: =============== Completed BingReport ================
Note: Downloading of staging data fails only when the value is empty. AvgPos value is might not be empty all the time. Runs fine for a different date.