Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: Newport
-
Fix Version/s: Newport
-
Component/s: Content Repository Service, Reseller UI
-
Labels:None
-
Environment:
QA Environment 3
- Reseller UI – 89
- SAPI – 561
- Core – P13
- BidMgr – P18
-
Sprint:Sprint 5
Description
Keyword List associated with order gets deleted - results in Error 500.
Prerequisite:
Added invalid keyword and alt special keyword for BA "car stereo"
insert into keywords (keywordListID, keyword, matchType , isNegative , isGeoMod , isGeoTarget ) values (1046, 'Bombs,test', 'exact', 0, 1, 1);
insert into keywords (keywordListID, keyword, matchType , isNegative , isGeoMod , isGeoTarget ) values (1046,sidewalk café', 'exact', 0, 1, 1);
Steps:
1.Create a Merchant 1 and deploy an order with BA/BL as (Car Stereo/Arkansas), it shows ERROR for invalid keyword in listener log and sends notification to Techops.
Merchant UUID:22b08770-b5d1-4e3d-80b6-816bfca0da33
2.Edit Account > Edit keywords and delete the invalid keyword - "Bombs,test" and redeploy the order.
mysql> select * from keywordLists where MerchantUUID='22b08770-b5d1-4e3d-80b6-816bfca0da33';
--------------------------------------------------------------------------------------------------
id | businessFunctionID | merchantUUID | dateCreated | dateUpdated |
--------------------------------------------------------------------------------------------------
1885 | 10268 | 2014-03-07 07:31:19 | 2014-03-07 07:35:19 |
--------------------------------------------------------------------------------------------------
1 row in set (0.00 sec)
Order gets deployed successfully ;it throws Error for "Alt Special" keyword - sidewalk café and sends notification to Techops.
3.Now edit the account > Edit keywords, search any of the keyword and delete it.
4.Click continue - it shows warning message for keyword "sidewalk café ",
5. Delete this keyword and click continue - Quote range gets updated
6.Don't save/deploy the order, click cancel and don't save the changes.
Actual Result:
KeywordList gets deleted and it shows Error 500 if we access it again.
Snippet of tomcat log:
----------------------------
ID: 14802
Address: http://127.0.0.1:8080/sapi/rest/keyword/lists
Encoding: UTF-8
Http-Method: POST
Content-Type: application/json; charset=utf-8
Headers:
Payload: {"parentKeywordListId":"264d09f7-e5f2-4731-a5fa-fd090ab2c91e","associatedEntities":[
{"type":"BUSINESS_AREA","id":"10268"},
{"type":"MERCHANT","id":"7e20d00d-f5ee-415e-922e-850b45702875"}],"dateCreated":"2014-03-07T00:00:00.000Z","dateUpdated":"2014-03-07T00:00:00.000Z","keywords":[
{"keyword":"about","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"amplifiers","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"audio","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+auto +radio","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"auto radio","matchType":"EXACT","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+auto +radios","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"auto radios","matchType":"EXACT","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+auto +stereo","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"auto stereo","matchType":"EXACT","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+auto +stereos","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"auto stereos","matchType":"EXACT","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"Bombs","matchType":"EXACT","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+buy a +car +radio","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+buy a +car +stereo","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+buy +car +radios","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"buy car radios","matchType":"EXACT","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+buy +car +stereo","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+buy +car +stereos","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+car +radio","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"car radio","matchType":"EXACT","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+car +radio +installation","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+car +radios","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"car radios","matchType":"EXACT","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+car +radios for +sale","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+car +stereo","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"car stereo","matchType":"EXACT","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+car +stereo +installation","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+car +stereo +performance","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+car +stereo +system","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+car +stereo +systems","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+car +stereos","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"car stereos","matchType":"EXACT","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+car +stereos for +sale","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"career","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"careers","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"certification","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"channel","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+cheap a +car +stereo","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+cheap +car +radios","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"cheap car radios","matchType":"EXACT","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+cheap +car +stereos","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"definition","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"degree","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"diploma","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+discount +car +radios","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+discount +car +stereos","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"discount car stereos","matchType":"EXACT","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"dj","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"earnings","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+head +units","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"how can","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"how do","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"how does","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"how to","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"job","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"jobs","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"Knives","matchType":"EXACT","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+local +car +radios","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+local +car +stereos","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"local car stereos","matchType":"EXACT","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"morning","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+new +car +stereo","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+new +car +stereos","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"pay","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+performance +car +stereo","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+performance +car +stereos","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"position","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"rebuild","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+replace +car +stereo","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+replace +car +stereos","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+replacement +car +stereo","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+replacement +car +stereos","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+replacing a +car +radio","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"salary","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"school","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"schools","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+shop +car +stereo","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+shop +car +stereos","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"sidewalk caf?","matchType":"EXACT","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"speakers","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"station","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"subs","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"subwoofers","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"training","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+vehicle +stereo","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"vehicle stereo","matchType":"EXACT","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"+vehicle +stereos","matchType":"BROAD","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"vehicle stereos","matchType":"EXACT","isNegative":false,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"wages","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"what can","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false},
{"keyword":"what is","matchType":"PHRASE","isNegative":true,"geoMod":false,"geoTarget":false,"disabled":false,"coreKeyword":false}]}
--------------------------------------
2014-03-07 07:00:13,601-346767758 [http-8080-16] WARN org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper [timezone=Etc/UTC, principalId=9ceaeb2c-37dd-4be0-89b6-a62b4288ec3b, requestId=a4773cb6-bb8a-4ebb-97b1-d239205160ca, locale=en_US, authToken=LK3CYKUPKK2RXBSYXDPQFPEUMSGDNWKOLO4KVMDHS525BRNQRW62AT2TJEVJMUE6ER2I4XHJ4KJTM3P4Q3M3IALNF6E6KDSYPWEVGSV6LYPD22U6GD23TUQM6QQ75QXPA7FRBJNE6ZQ6ODZZBUHADRXFW3WGOUCY4YRAZA36BWEZB5VCGU5NU6QIDBDSMXIU6RSESQERCHXTA223PQDJAMEV24AP2TVIDKMDZSIZZOEGWRR5GLFQN2BF5XTXBCQ5HBCNRPOAMICYAIPUSA742KZQEDSE4BUXWRTFMJ5KD7PT2KUIV6EFKYH7EC5K74ZH2AX6KQRITAVIGBWGB5SVIT5KBTMIY6LLPI4WXQ4DJ2KICZMLWSPMRLWRAJ3XJDG75PU2QASCXY5V5R4Q2ZJOMHRCZTSP5I62C5ZUUD2PJ76RHE2ONYMXUYA7KIMEG3SRZQEUOJRL7JLJPI6UOQEV2VJL6EKUDLJ3TFR72OG3HRIEXEDRLRWK2LLVSY4YAVE7GPFURPMVPKAT77ML536O6BD3KQKV2NI5JLAZPAKG3XFDQMYJDNVS4ZBOETWT5JK7Y2CPGVS6DOFCMC7PU7YPQDIHGE4HIM6ZTGCO7N7X3T6ZKR7KUL55UUC5BIUVITECRACTTFIUGIOT3YW6R2N6TW4AJP2ZRD5LIP26AQD5KF43ELK5E4P4G3EMFOAUZ34P3BFCHZU5XFSFKW37QFHTTQ4GMHLLYDFP72OI2NHYXCNOXMSREZ74C4NLU4XHGDPM7CNJXSOF235LTIJO6NKUN2ZZHWHWEE6ICOCWJVX5ZYGYM2ZBVVBZVEB3Z4ZMPK32MGZ3CYZFPHL6CZK7SUKQ7ZWNXYTEUQWXONAOQMICNNJWJSHBVKPNHT2PSI3D5L7UPKGQGNMK3GTKDQ5KNW2ES5XPM6FPJTYNN7Q45NT6Z6P5BTZXJOEKIX2VDD4CMYUFGS2Y4RW7UFEFTHL3WN452773BEMDVFYCOAH3FQG4KILUQN4JDQ2YJYG4PHQNROVNIT3QU7J2YMYYH2EUC752EPFGN4GRTNIO4QVMJZA5PVUI6VBMC2GEMTYS6OM5UEYJ2KO2FFS4PYLMWBEZ3XQLL6GTLTKOZN7EH25FM6Y6PUSGWI7MXGCYNBCITHYMSYUGGFZEFRTC2PMPN7TPPJOOTA2WRFCCWY7OIO2AYOICRAKMGPXEGS7F3D6M5NKTGNEMQZHGI7QY4CM6Y3675WNKMLOXVDDNWTYOH6F47RULTNB4VEPMPH74LBMKJRO43UMOBWCBD5VRIYGH65TJ2TSC5KBEKIL2CRYH3MZ5XKTX6E6WXBTBU6M4QKWNB2TTQFQGP6U4RAFWADHDFA7EFZKHICIEOUYUPPN5VFEK6OW7MMDGMIMTHERWIT2NFTYT5BMO3DWPRNFD3QK5HHKVKWWJKRMH6BKOAKDSC3HVUUBQQLAEHIJCAPUVREVQPCQ4SUOHKJS6VP5K7N6XOX6PHHQSTU5F3HQZQBZJ3QMNMKYS22SEBQFH4PSDKOQBZAM33B6WTIGSTQNSIUJOE3TSD2NG6Y7TPA6JPB5WUHRQLGE4E4KV3EMCNTS46565WIEZA4L2QWG4MOWD6NBV7FQGQBKJAZEMDV2P7VWPKRZ6LZH6MDI4JZJIOH7A====, hostname=127.0.0.1, ipAddress=127.0.0.1] - javax.ws.rs.WebApplicationException
at com.thesearchagency.sapi.services.keyword.KeywordService.prepareKeywordList(KeywordService.java:196)
at com.thesearchagency.sapi.services.keyword.KeywordService.createKeywordList(KeywordService.java:128)
at sun.reflect.GeneratedMethodAccessor472.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:180)
at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96)
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:198)
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:100)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:94)
mysql> select * from keywordLists where MerchantUUID='1d243909-1ea3-49c4-8f4d-d7493a0e1545';
Empty set (0.00 sec)
Expected Result:
KeywordList shouldn't be deleted here.