01:30
brianpWins has quit [Quit: brianpWins]
01:31
brianpWins has joined #datamapper
01:31
brianpWins_ has joined #datamapper
01:31
brianpWins_ has quit [Client Quit]
03:54
snusnu has quit [Quit: Leaving.]
05:02
rsim has joined #datamapper
05:06
rsim has quit [Ping timeout: 240 seconds]
06:08
v0n has quit [Ping timeout: 260 seconds]
07:24
lgierth has joined #datamapper
07:57
knowtheory has joined #datamapper
08:05
rsim has joined #datamapper
08:09
rsim has quit [Ping timeout: 240 seconds]
08:10
rsim has joined #datamapper
08:24
mikecmpbll has joined #datamapper
10:18
zombor has joined #datamapper
10:34
zombor has quit [Remote host closed the connection]
11:07
zombor has joined #datamapper
11:07
zombor has quit [Changing host]
11:07
zombor has joined #datamapper
11:12
mikecmpbll has joined #datamapper
11:31
snusnu has joined #datamapper
11:42
skade has joined #datamapper
11:45
zombor has quit [Remote host closed the connection]
12:00
snusnu has quit [Quit: Leaving.]
12:21
zombor has joined #datamapper
12:23
zombor has quit [Remote host closed the connection]
12:24
snusnu has joined #datamapper
12:29
snusnu has joined #datamapper
12:29
snusnu has quit [Client Quit]
12:31
snusnu has joined #datamapper
12:41
g0bl1n has joined #datamapper
13:01
v0n has joined #datamapper
13:20
zombor has joined #datamapper
13:31
rafaelfranca has joined #datamapper
13:44
mikecmpbll has joined #datamapper
14:09
akasper has joined #datamapper
14:09
akasper has quit [Client Quit]
14:10
akasper has joined #datamapper
14:14
akasper has quit [Ping timeout: 246 seconds]
14:15
akasper has joined #datamapper
14:21
rafaelfr_ has joined #datamapper
14:25
rafaelfranca has quit [Ping timeout: 245 seconds]
14:47
v0n has quit [Quit: WeeChat 0.4.3-dev]
14:49
v0n has joined #datamapper
14:55
v1n has joined #datamapper
14:58
v0n has quit [Ping timeout: 240 seconds]
15:00
knowtheory has quit [Quit: Computer has gone to sleep]
15:00
knowtheory has joined #datamapper
15:05
knowtheory has quit [Ping timeout: 252 seconds]
15:20
knowtheory has joined #datamapper
15:41
akasper1 has joined #datamapper
15:43
akasper has quit [Ping timeout: 248 seconds]
16:12
mikecmpbll has joined #datamapper
16:15
zombor has quit [Remote host closed the connection]
16:15
zombor_ has joined #datamapper
16:15
zombor_ has quit [Changing host]
16:15
zombor_ has joined #datamapper
16:38
skade has quit [Quit: Computer has gone to sleep.]
16:44
zombor_ is now known as zombor
17:16
snusnu has quit [Quit: Leaving.]
17:17
mbj has joined #datamapper
17:17
rsim has quit [Quit: Leaving.]
17:26
skade has joined #datamapper
17:28
snusnu has joined #datamapper
17:34
akasper1 has quit [Quit: Leaving.]
17:35
akasper has joined #datamapper
17:47
rsim has joined #datamapper
18:05
Eiam has quit [Quit: ╯°□°)╯︵ǝpouǝǝɹɟ]
18:06
postmodern has joined #datamapper
18:07
Eiam has joined #datamapper
18:39
rsim has quit [Quit: Leaving.]
18:46
brianpWins has joined #datamapper
18:53
dkubb has joined #datamapper
18:53
<
dkubb >
Eiam: you can probably repro that issue more easily than I can
18:53
<
Eiam >
well I cannot "repro" it on demand at all
18:53
<
Eiam >
but my users can repro it
18:53
<
Eiam >
and I get an email every time they do =0
18:54
<
dkubb >
Eiam: I was seeing it on one contract I worked on, but I've moved to another contract so I don't know if I can easily repro it now
18:54
<
Eiam >
and for them its just "use the service"
18:54
<
Eiam >
occasionally, that error will pop up on one of the requests
18:54
<
Eiam >
its not consistent which request, or the request content.
18:54
<
Eiam >
worse since re trying the exact same query can succeed
18:55
<
dkubb >
maybe try writing a stand-alone script that does the same query in a tight loop and see if you can repro it that way?
18:55
<
dkubb >
just let it run overnight and see
18:55
<
Eiam >
MyModel.get(#)
18:56
<
dkubb >
maybe dm-mysql-adapter need to handle the empty fields case?
18:56
<
dkubb >
or it could be pushed up do dm-do-adapter
18:56
<
Eiam >
that its empty is weird
18:56
<
Eiam >
because there is data
18:56
<
dkubb >
since I presume it's part of the DO contract?
18:57
<
dkubb >
well, it is something across the network, which could fail in all sorts of weird ways
18:58
<
dkubb >
Eiam: when you do model get 10k times, does it repeat at all, or is it always a clean run?
18:58
<
dkubb >
I would just let it repeat infinitely using loop { ... } and check it later
18:58
<
Eiam >
no that was a bit of an exaggeration as to what the script might do
18:58
<
dkubb >
allow it to bomb out if it fails
18:58
<
Eiam >
every http request does do a model.get()
18:58
<
Eiam >
and almost every request does similar basic lookups on the model
18:58
<
dkubb >
once you have some kind of a repro, then you can fix it and run it again to see if it fixed it
18:58
<
Eiam >
its really nothing fancy
18:59
<
dkubb >
maybe try doing something where you spawn 2 threads and run them in parallel
18:59
<
Eiam >
yeah I've been thinking about getting a database pool spun up on some VMs
18:59
<
Eiam >
so I just talk to "the DB" but the VM's behind it are managing a few DBs
18:59
<
Eiam >
then I can make the support team deal with the problem =)
19:00
<
Eiam >
"gosh guys, why isn't your DB pool working/replicating/load balancing properly?!"
19:00
<
Eiam >
instead of letting the DB remain on my production VM thats also the web server
19:00
<
Eiam >
I know, thats mean of me
19:00
<
dkubb >
I suspect it's not particularly hard to solve. what would be hard is to know if your fix actually worked or just worked the time you tested it
19:00
<
Eiam >
sure the hard part is just the repro case
19:01
<
Eiam >
once I've got that, I'm a binding.pry away from figuring out the issue
19:01
<
dkubb >
it could also just be a random network failure
19:01
<
Eiam >
corporate network is pretty solid
19:01
<
dkubb >
a network can still fail for any reason, even the best
19:02
<
Eiam >
but a packet dropout would be handled way below me
19:02
<
dkubb >
although I guess you say it happens regularly
19:02
<
Eiam >
well since I added in the retries
19:02
<
Eiam >
I went from several times per day
19:02
<
Eiam >
to a few times a week
19:03
<
Eiam >
correlation is "when people are at work using the service"
19:03
<
dkubb >
you've gotta narrow it down a bit more :P
19:05
<
Eiam >
of course =)
19:05
* Eiam
looks at the 67 issues assigned to him
19:05
<
dkubb >
I wonder if the C code should retry with some kind of exponential backoff
19:05
<
dkubb >
I totally understand that
19:05
<
Eiam >
gotta do a lot of things! don't we all
19:06
<
dkubb >
the C code is inside do_mysql_cReader_next, which should be safe to reexecute if the reader container pointer is NULL
19:06
<
dkubb >
not that I could write such a thing
19:06
<
mbj >
Eiam: Can you monitor network traffic and correlate the dump with the event?
19:07
<
mbj >
Eiam: Might be impossible on a production box. But a tcpdump geneated pcap file helped me a lot in similar scenarios ;)
19:09
<
Eiam >
I own the production box so
19:09
<
Eiam >
i can certainly dump all the traffic
19:09
<
Eiam >
its all ssl though
19:10
<
Eiam >
i've never reproduced it locally so charles proxy wouldn't be of help there
19:10
rsim has joined #datamapper
19:11
<
dkubb >
ssl to mysql, or is it connecting via the loopback or unixsocket?
19:14
<
mbj >
Eiam: Even under ssl to mysql you could use stunnel to terminate ssl on a local "plain" socket and dump this.
19:18
<
Eiam >
not sure I could get away with that in production
19:18
<
Eiam >
security would probably flip their shit
19:19
rsim has quit [Ping timeout: 240 seconds]
19:19
<
Eiam >
I'll noodle on it see what I can do
19:19
<
Eiam >
maybe just step 1 find a repro case
19:21
<
dkubb >
yeah, I think a tight loop with 2 threads doing the same query would be what I start with.. assuming it's a concurrency issue
19:24
<
mbj >
Eiam: SSL is a "Secure-Socket-LAYER", per definition you can strip it away. And communications on localhost should be "secure" anyway?
19:24
<
mbj >
Eiam: Dunno, but my prod boxes only have "one" job ;)
19:25
<
mbj >
Eiam: Mabe stunnel can expose a unix socket locally, with termiated ssl.
19:45
lgierth has quit [Ping timeout: 252 seconds]
19:48
lgierth has joined #datamapper
20:05
knowtheory has quit [Ping timeout: 252 seconds]
20:06
mbj has quit [Read error: Connection reset by peer]
20:07
mbj has joined #datamapper
20:22
mbj has quit [Quit: leaving]
20:24
knowtheory has joined #datamapper
20:34
zombor has quit [Remote host closed the connection]
21:17
zombor has joined #datamapper
21:21
mbj has joined #datamapper
21:42
v1n has quit [Quit: WeeChat 0.4.3-dev]
21:46
mbj has quit [Quit: leaving]
21:50
rafaelfranca has joined #datamapper
21:53
rsim has joined #datamapper
21:54
rafaelfr_ has quit [Ping timeout: 272 seconds]
22:03
zombor has quit [Remote host closed the connection]
22:06
v0n has joined #datamapper
22:09
rtyler has quit [Read error: Connection reset by peer]
22:09
rtyler has joined #datamapper
22:09
rtyler has quit [Changing host]
22:09
rtyler has joined #datamapper
22:10
lgierth has quit [Quit: Ex-Chat]
22:10
Cinchy_ has joined #datamapper
22:11
DireFog has quit [Quit: No Ping reply in 180 seconds.]
22:11
Cinchy has quit [Remote host closed the connection]
22:11
DireFog has joined #datamapper
22:21
pietia has joined #datamapper
22:27
v0n has quit [Ping timeout: 245 seconds]
22:41
v0n has joined #datamapper
22:49
knowtheory has quit [Quit: Computer has gone to sleep]
22:49
knowtheory has joined #datamapper
22:54
knowtheory has quit [Ping timeout: 245 seconds]
22:55
rafaelfranca has quit [Remote host closed the connection]
22:55
rafaelfranca has joined #datamapper
23:00
rafaelfranca has quit [Ping timeout: 272 seconds]
23:03
pietia has quit [Quit: Leaving...]
23:06
rsim has quit [Quit: Leaving.]
23:17
<
Eiam >
hmm will poke at it thanks for the suggestions
23:40
zombor has joined #datamapper