Skip to content

Commit 5278433

Browse files
Partially revert the implication endpoint (#3862)
Partially reverts #3846 by disabling the implication endpoint in booster until we figure out and address #3857
1 parent df703fe commit 5278433

File tree

9 files changed

+34707
-33908
lines changed

9 files changed

+34707
-33908
lines changed

booster/test/rpc-integration/test-foundry-bug-report/response-006.json

Lines changed: 184 additions & 184 deletions
Large diffs are not rendered by default.

booster/test/rpc-integration/test-foundry-bug-report/response-008.json

Lines changed: 5889 additions & 5889 deletions
Large diffs are not rendered by default.

booster/test/rpc-integration/test-foundry-bug-report/response-010.json

Lines changed: 5889 additions & 5889 deletions
Large diffs are not rendered by default.

booster/test/rpc-integration/test-foundry-bug-report/response-012.json

Lines changed: 5914 additions & 5914 deletions
Large diffs are not rendered by default.

booster/test/rpc-integration/test-foundry-bug-report/response-014.json

Lines changed: 5914 additions & 5914 deletions
Large diffs are not rendered by default.

booster/test/rpc-integration/test-foundry-bug-report/response-016.json

Lines changed: 10893 additions & 10103 deletions
Large diffs are not rendered by default.

booster/tools/booster/Proxy.hs

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -104,19 +104,24 @@ respondEither cfg@ProxyConfig{statsVar, boosterState} booster kore req = case re
104104
fromMaybe (error $ "Module " <> show m <> " not found") $
105105
Map.lookup m bState.definitions
106106
handleExecute logSettings def start execReq
107-
Implies{} -> do
108-
-- try the booster end-point first
109-
(boosterResult, boosterTime) <- Stats.timed $ booster req
110-
case boosterResult of
111-
res@Right{} -> do
112-
logStats ImpliesM (boosterTime, 0)
113-
pure res
114-
Left err -> do
115-
Log.logWarnNS "proxy" . Text.pack $
116-
"implies error in booster: " <> fromError err
117-
(koreRes, koreTime) <- Stats.timed $ kore req
118-
logStats ImpliesM (boosterTime + koreTime, koreTime)
119-
pure koreRes
107+
Implies ImpliesRequest{assumeDefined}
108+
| fromMaybe False assumeDefined -> do
109+
-- try the booster end-point first
110+
(boosterResult, boosterTime) <- Stats.timed $ booster req
111+
case boosterResult of
112+
res@Right{} -> do
113+
logStats ImpliesM (boosterTime, 0)
114+
pure res
115+
Left err -> do
116+
Log.logWarnNS "proxy" . Text.pack $
117+
"implies error in booster: " <> fromError err
118+
(koreRes, koreTime) <- Stats.timed $ kore req
119+
logStats ImpliesM (boosterTime + koreTime, koreTime)
120+
pure koreRes
121+
| otherwise -> do
122+
(koreRes, koreTime) <- Stats.timed $ kore req
123+
logStats ImpliesM (koreTime, koreTime)
124+
pure koreRes
120125
Simplify simplifyReq ->
121126
liftIO (getTime Monotonic) >>= handleSimplify simplifyReq . Just
122127
AddModule _ -> do

docs/2022-07-18-JSON-RPC-Server-API.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -338,12 +338,15 @@ Not all backends support logging processing time, and some won't have the differ
338338
"antecedent": {"format": "KORE", "version": 1, "term": {}},
339339
"consequent": {"format": "KORE", "version": 1, "term": {}},
340340
"module": "MODULE-NAME",
341-
"log-timing": true
341+
"log-timing": true,
342+
"assume-defined": false
342343
}
343344
}
344345
```
345346

346-
Optional parameters: `module` (main module name), `log-timing`
347+
Optional parameters: `module` (main module name), `log-timing`, `assume-defined`.
348+
349+
The `assume-defined` flag defaults to `false`. When set to `true`, the server uses the new simplified implication check in booster, which makes the assumption that the antecedent and consequent are bot defined, i.e. don't simplify to `#Bottom`.
347350

348351
### Error Response:
349352

kore-rpc-types/src/Kore/JsonRpc/Types.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ data ImpliesRequest = ImpliesRequest
5353
{ antecedent :: !KoreJson
5454
, consequent :: !KoreJson
5555
, _module :: !(Maybe Text)
56+
, assumeDefined :: !(Maybe Bool)
5657
, logSuccessfulSimplifications :: !(Maybe Bool)
5758
, logFailedSimplifications :: !(Maybe Bool)
5859
, logTiming :: !(Maybe Bool)

0 commit comments

Comments
 (0)