Commit Graph

151 Commits

Author SHA1 Message Date
Simon Marlow
dea379f271 (>>) should be implemented as (*>)
Test Plan: new unit test

Reviewed By: akr@fb.com

Subscribers: ldbrandy, memo, watashi, smarlow, akr, bnitka, jcoens

FB internal diff: D2146859

Signature: t1:2146859:1434027756:806eb07efc3282857b7d2400c4b10b949495b476
2015-10-07 01:06:49 -07:00
Simon Marlow
09d5ede63e Add Eq instances to all the leaf exceptions
Summary: Makes it easier to write tests

Test Plan: contbuild

Reviewed By: bnitka@fb.com

Subscribers: ldbrandy, memo, watashi, smarlow, akr, bnitka, jcoens

FB internal diff: D2064498

Signature: t1:2064498:1431447501:c61dc564f40b318c0645ef5cd7b71d0814d36195
2015-10-07 01:06:43 -07:00
Simon Marlow
dfd8a4655e A haxl test for ApplicativeDo
Summary:
Test that the ApplicativeDo extension batches things correctly in the
Haxl monad.

Test Plan: beholdunittests

Reviewed By: bnitka@fb.com

Subscribers: ldbrandy, memo, watashi, smarlow, akr, bnitka, jcoens

FB internal diff: D2039149

Tasks: 5504687

Signature: t1:2039149:1430501733:98fd1cf0f69663d6db3b07c3aed6e261ae9884d6
2015-10-07 01:06:35 -07:00
Simon Marlow
1d83953123 Add Haxl.Core.Memo 2015-10-07 00:59:28 -07:00
Jake Lengyel
9d8fe2c6aa Move memo to haxl/core
Summary: Move the functionality of memo to haxl/core, while retaining a Haxl wrapper in SI.

Test Plan: fbconfig -r sigma/haxl && fbmake runtests_opt

Reviewed By: smarlow@fb.com

Subscribers: ldbrandy, memo, watashi, smarlow, akr, bnitka, jcoens, wmay

FB internal diff: D1996371

Tasks: 4601157

Signature: t1:1996371:1429180518:6759e4dc2444bd942cde145d9de945430b3cba7e
2015-10-07 00:57:48 -07:00
Simon Marlow
1d996291a4 Merge pull request #34 from kantp/thunkleak
Close thunk leak in roundstats.
2015-07-17 16:25:11 +01:00
Philipp Kant
8f4d603dcd Close thunk leak in roundstats.
The function performFetches collects statistics about the requests
performed in each round. However, the list is not evaluated (unless
tracing is on), leading to an accumulation of thunks. Forcing the list
via deepseq prevents this.
2015-07-17 15:35:27 +02:00
Simon Marlow
8df642043c Update to PATENTS version 2
Test Plan: testinprod

Reviewed By: jon.coens@fb.com

Subscribers: ldbrandy, memo, watashi, smarlow, akr, bnitka, jcoens

FB internal diff: D1994343

Signature: t1:1994343:1429108790:f719a3592f72d7b6117988fef1bc2ce3660574f1
2015-04-15 09:07:41 -07:00
Simon Marlow
2c604f5a5c add .travis.yml
Summary: To get continuous builds for github

Test Plan: testinprod

Subscribers: ldbrandy, memo, watashi, smarlow, akr, bnitka, jcoens

FB internal diff: D1994369
2015-04-15 08:12:46 -07:00
Simon Marlow
6b1f7a69e9 0.2.0.0 (we've made backwards-incompatible changes) 2015-04-15 16:04:25 +01:00
Simon Marlow
19b3f63a4e 0.1.0.1 2015-04-15 16:00:54 +01:00
Simon Marlow
462beed8eb Fix GHC version-related build issues 2015-04-15 15:54:41 +01:00
watashi
580aadb747 Unbreak haxl on ghc 7.10
Some ghc internal packages bumped their versions.
Thanks @FranklinChen for reporting this issue.
Closes #28
2015-04-09 23:03:26 -07:00
Zejun Wu
9f873ed35a Update haxl copyright headers
Summary:
Update haxl copyright headers: s/2014/2014-present/g
Thank @siddharthasharma for pointing this out
Closes #26, #27

Test Plan: meh

Reviewed By: jon.coens@fb.com

Subscribers: ldbrandy, memo, watashi, smarlow, akr, bnitka, jcoens

FB internal diff: D1903841

Signature: t1:1903841:1426073797:b95462075265fa8ec9c1252e45ef5cac7a37e7e2
2015-03-11 12:42:01 -07:00
Simon Marlow
c67b7af2e0 Don't drop async exceptions (e.g. AllocationLimitExceeded)
Summary:
Turning IO monad exceptions into Haxl monad exceptions can result in the
IO monad exception being lost, which is what was happening to our
AllocationLimitExceeded exceptions.  See the comment with
rethrowAsyncExceptions for more details.

See also D1870627

Test Plan:
P19741543 is a request that blows the alloc limit but wasn't being
caught before.

Reviewed By: akr@fb.com

Subscribers: ldbrandy, memo, watashi, smarlow, akr, bnitka, jcoens

FB internal diff: D1870631

Tasks: 6240444

Signature: t1:1870631:1424867073:d03bd0368ee968cecbcc5a0f654772b6f0eaf147
2015-03-11 12:41:38 -07:00
watashi
96f5513f56 Remove TARGETS 2015-02-09 09:15:42 -08:00
Zejun Wu
6fb255fffc Make haxl/core self-contained and updated
Summary: Make haxl/core self-contained and sync github

Test Plan:
fbmake opt && fbmake runtests_opt
cabal build && cabal test

Reviewed By: jon.coens@fb.com

Subscribers: ldbrandy, watashi, smarlow, akr, bnitka, jcoens

FB internal diff: D1832398

Signature: t1:1832398:1423478473:5f81b865b86b7864c08af222d90990a1de3b3073
2015-02-09 08:56:49 -08:00
Andrew Farmer
4cce451bb5 Instrument runHaxl with traceEventIO
Summary:
Adds traceEventIO in right places to get pretty fetching visualizations.
These should be a no-op when compiled with eventlog disabled, but
I haven't measured to see if there is any actual overhead yet.

Test Plan:
compiled, ran replay and endtoend with no problems
waiting on full perf results to check for overhead

Reviewed By: smarlow@fb.com

Subscribers: trunkagent, ldbrandy, watashi, smarlow, akr, bnitka, jcoens, anfarmer

FB internal diff: D1666727

Tasks: 5564760, 5289531, 5289404

Signature: t1:1666727:1415714188:1e4b2322c8ae15c8d3552ec2bc290df94a683184
2015-02-06 14:48:11 -08:00
Andrew Farmer
cb33a2fb1e Add pretty-printing functions for Haxl's stats types.
Summary: Add functions to make the stats types human-readable.

Test Plan: compileandship

Reviewed By: smarlow@fb.com

Subscribers: ldbrandy, watashi, smarlow, akr, bnitka, jcoens

FB internal diff: D1583342
2015-02-06 14:47:56 -08:00
Zejun Wu
668a8adc2e Collect time in each data sources in each round
Summary: Collect time in each data sources in each round

Test Plan:
test in haxlsh
test the overhead in replay

Reviewed By: smarlow@fb.com

Subscribers: anfarmer, ldbrandy, watashi, smarlow, akr, bnitka, jcoens

FB internal diff: D1521346

Tasks: 4589842
2015-02-06 14:47:53 -08:00
Zejun Wu
23e7d06d7d Add flags to control the report level in Haxl
Summary: Add flags to control the report level (how much stats we will collect) in Haxl

Test Plan: runtests

Reviewed By: jon.coens@fb.com

Subscribers: ldbrandy, watashi, smarlow, akr, bnitka, jcoens

FB internal diff: D1509184

Tasks: 4589842
2015-02-06 14:47:49 -08:00
Simon Marlow
a8b49026da Merge pull request #15 from k-bx/master
Update aeson and text deps
2014-11-22 16:42:32 +00:00
Konstantine Rybnikov
dde76c9b3d Update aeson and text deps 2014-11-22 13:50:44 +02:00
Simon Marlow
79d1f1eea9 Merge pull request #12 from zudov/patch-1
Added a note about the Prelude
2014-07-23 14:12:49 +01:00
Konstantin Zudov
423709177b Added a note about the Prelude
It took me some time to figure out that I forgot about the Prelude. Hope that this will help someone.
2014-07-23 16:07:47 +03:00
Zejun Wu
7411284239 Update exposed-modules in haxl.cabal
Summary:
Haxl.Core.Env and Haxl.Core.Fetch were collapsed into Haxl.Core.Monad in
D1427283. Update haxl.cabal to reflect this and use PatternGuards to
suppress warnings.

Test Plan: ~/local/haxl-github $ cabal test

Reviewed By: jon.coens@fb.com

Subscribers: ldbrandy, smarlow, akr, bnitka, jcoens

FB internal diff: D1441939
2014-07-17 13:02:09 -07:00
Simon Marlow
18f2f1ab21 Rework memoization, fixing infinite loop problems
Summary:
See copious comments in the source for details.  The problem with the
previous approach was that it was too easy to lose the continuation that
contained the memo table update when exceptions are flying around, and
losing that continuation always results in an infinite loop.  This
solution is more robust, because we can never lose a continuation, the
worst that could happen (and it shouldn't happen) is that we do a bit of
repeated work.

Test Plan: unit tests, my infinite loop repro case is fixed

Reviewed By: jon.coens@fb.com

Subscribers: ldbrandy, smarlow, akr, bnitka, jcoens

FB internal diff: D1427283

Tasks: 3734942
2014-07-17 13:02:06 -07:00
Simon Marlow
ca83d6070c Update the DataCache strictly
Summary:
We weren't forcing the DataCache after inserting a new element, which
meant that an error would appear when next using the cache, rather than
when we insert the element.

Test Plan: new unit test

Reviewed By: bnitka@fb.com

Subscribers: ldbrandy, smarlow, akr, bnitka, jcoens

FB internal diff: D1420686

Tasks: 4637866
2014-07-17 13:02:02 -07:00
Simon Marlow
2f4d6336b2 Add catchIf
Summary: Useful for catching multiple kinds of exception with a single handler.

Test Plan: haxl/core unit tests

Reviewed By: jon.coens@fb.com

Subscribers: ldbrandy, jonp, smarlow, akr, bnitka, jcoens

FB internal diff: D1387298

Tasks: 4526990, 3727129
2014-07-17 13:01:53 -07:00
Jon Coens
c90f8b0c8d Merge pull request #10 from facebook/change_link
Update link to example data sources
2014-06-25 19:14:00 -07:00
Jon Coens
13606a4fc7 Update link to example data sources 2014-06-25 18:59:17 -07:00
niteria
3bb91ac357 Merge pull request #9 from juhp/patch-1
replace getAllUsers by getAllUserIds
2014-06-23 15:21:15 -07:00
Jens Petersen
53cf6095fa replace getAllUsers by getAllUserIds 2014-06-23 14:00:53 +09:00
Simon Marlow
da1525d897 Sync the readme.md with the code
Summary: from PR 4

Test Plan: unit tests

Reviewed By: akr@fb.com

Subscribers: ldbrandy, jonp, smarlow, akr, bnitka, jcoens

FB internal diff: D1384640
2014-06-16 06:48:51 -07:00
Simon Marlow
e6dbb92d4b lint
Summary: From PR 5 on github

Test Plan: unit tests

Reviewed By: akr@fb.com

Subscribers: ldbrandy, jonp, smarlow, akr, bnitka, jcoens

FB internal diff: D1384641
2014-06-16 06:48:43 -07:00
Simon Marlow
6ddd602873 Add SVG logo
Test Plan: no tests

Reviewed By: akr@fb.com

Subscribers: ldbrandy, jonp, smarlow, akr, bnitka, jcoens

FB internal diff: D1381974
2014-06-16 06:48:28 -07:00
Simon Marlow
610e7d2a10 Merge pull request #8 from ChristopherBiscardi/sql-example-fix
Small SQL example .cabal fixes
2014-06-16 11:59:02 +01:00
Simon Marlow
4a9540d7fb Merge pull request #6 from 23Skidoo/patch-1
Missing annotation for a code snippet.
2014-06-15 16:31:02 +01:00
Simon Marlow
58b64a6931 Merge pull request #7 from ravenjohn/patch-1
Update readme.md
2014-06-15 16:30:05 +01:00
Christopher Biscardi
45a25e4b3b Small SQL example .cabal fixes
When building from a fresh sandbox in /example/sql, cabal complained
about the name and version fields missing, as well as the base
dependency missing in build-depends.
2014-06-13 22:16:59 -07:00
ravenjohn
c6b8410a8c Update readme.md 2014-06-14 06:46:49 +08:00
Simon Marlow
f4c0b0d951 Comment about AsyncFetch
Reviewed By: akr@fb.com

Internal FB diff: D1374045
2014-06-12 08:43:59 -07:00
Mikhail Glushenkov
1ad000e8d7 Missing annotation for a code snippet. 2014-06-11 15:02:15 +02:00
Simon Marlow
b1595941fa Merge pull request #3 from aledista/patch-1
Update readme.md
2014-06-11 10:50:36 +01:00
Alessio Di Stasio
c562df2c46 Update readme.md 2014-06-10 20:52:00 -05:00
Simon Marlow
4d84be9368 Merge pull request #2 from jfischoff/patch-1
Expose the Caches type
2014-06-10 22:21:00 +01:00
Jonathan Fischoff
7ca8ef1e6d Expose the Caches type
This makes the doc look better.
2014-06-10 13:53:28 -07:00
Simon Marlow
41ca963e99 Merge pull request #1 from oreoshake/mixed_content_in_readme
Change logo src to https to avoid mixed-content
2014-06-10 21:08:29 +01:00
Simon Marlow
040caa411d Add links to the blog post and the ICFP paper. 2014-06-10 20:59:23 +01:00
Neil Matatall
45645f28b9 Change logo src to https to avoid mixed-content 2014-06-10 11:16:17 -07:00