[00:57] wgrant: https://code.launchpad.net/~stevenk/launchpad/auditorclient-timeline/+merge/171942 [01:02] StevenK: Does that function correctly when given multiple objects, operations or actors? [01:03] wgrant: Sprinkling an assert in the multiple test: reference = None [01:03] actual = "Object: ['lp-development:Person:243653', 'lp-development:Person:243654']; Operation: ('person-deleted', 'person-undeleted'), Actor: None" [01:03] Right [01:04] wgrant: Do you want that assert left in, or you wanted to see it cope? [01:06] Confused [01:06] Oh, by "wanted to see it cope" you meant "wanted to see it as a one off"? [01:06] I don't much care. [01:06] Yes, I did [01:17] wgrant: Could I get a review, then? [01:17] Or have you been defeated by connection limits? [01:19] s/connection limits/questions/ [01:20] StevenK: We would ideally hook into auditorclient more directly, but this will do for now [01:20] I think [01:20] It might not actually work, though [01:20] You should test [01:21] Oh? [01:21] The receive is also wrong [01:21] The action should finish once auditorclient returns [01:21] Not once everything is dereferenced [01:21] Overlapping actions are generally a bad idea [01:23] wgrant: http://pastebin.ubuntu.com/5806468/ [01:23] StevenK: Right [01:24] wgrant: Any other concerns? [01:25] I don't believe so. [01:33] wgrant: That MP has updated. [01:39] And is now approved. [01:40] wgrant: Thanks [04:11] wgrant: Do you want to review https://code.launchpad.net/~stevenk/launchpad/export-pu-auditor/+merge/171460 then? [04:16] StevenK: What happens if I reject, accept, reject, and then accept an upload? [04:21] wgrant: The last event's actor will be returned [04:21] StevenK: Are you sure? [04:22] There's a limit=1 on the single receive call [04:22] But that doesn't quite work for the bulk one [04:26] Let me write a test [04:55] wgrant: Right [04:57] wgrant: Calling reject, accept, reject with 3 different users results in the following: http://pastebin.ubuntu.com/5806804/ [05:07] StevenK: That shows that it happens to work at least sometimes [05:07] I want to know whether it *should* work, or whether that's an accident. === joeyfreenode is now known as joey [05:18] wgrant: Adding sleeps between the reject, accept and reject also returns the same returns. [05:18] Which shows that it isn't just working due to the 2 events having the same timestamp [05:19] s/same returns/same results/ [05:23] StevenK: That's not very strong evidence :) [05:23] I'd really like to see eg. the request that goes to auditor, and the SQL behind it [05:23] postgres will often return things in insert order initially on small tables [05:23] Simply because of the likely physical layout [05:23] I don't see how this works reliably, so I am inclined to believe it does not. [05:24] wgrant: It's auditorfixture, so it's backed on sqlite [05:24] s/postgres/sqlite/ === tasdomas_afk is now known as tasdomas === wedgwood_away is now known as wedgwood === tasdomas is now known as tasdomas_afk === frankban_ is now known as frankban === matsubara is now known as matsubara-lunch === matsubara-lunch is now known as matsubara === wedgwood is now known as wedgwood_away