Repository navigation
Commit fff09f7
fix: Preserve Dask historical requests without eligible features (#7000)
* fix: Preserve Dask historical requests without eligible features
Signed-off-by: NUAAwqy <[email protected]>
* fix: preserve integer dtypes when masking expired Dask features
Use pandas' nullable missing value when retaining entity rows whose feature
candidate is outside the TTL window. This keeps integer feature columns from
being widened to float64 while preserving the existing candidate filtering
behavior. Add a regression test for integer feature values.
Prepared with Codex assistance; no human review is claimed.
Signed-off-by: NUAAwqy <[email protected]>
* fix: preserve integer dtypes when masking expired features
Cast integer feature columns to pandas nullable integer dtypes before
masking expired candidates, so ordinary int64 inputs do not widen to
float64 when the left-join request row is preserved. Add a regression
covering the plain int64 source case.
Prepared and tested with Codex assistance; no human review is claimed.
Signed-off-by: NUAAwqy <[email protected]>
Co-Authored-By: Codex <[email protected]>
* fix: preserve integer dtypes when masking expired features
Cast integer feature columns to pandas nullable integer dtypes before
masking expired candidates, so ordinary int64 inputs do not widen to
float64 when the left-join request row is preserved. Add a regression
covering the plain int64 source case.
Prepared and tested with Codex assistance; no human review is claimed.
Signed-off-by: NUAAwqy <[email protected]>
Co-Authored-By: Codex <[email protected]>
* fix: preserve integer dtypes when masking expired features
Cast integer feature columns to pandas nullable integer dtypes before
masking expired candidates, so ordinary int64 inputs do not widen to
float64 when the left-join request row is preserved. Add a regression
covering the plain int64 source case.
Prepared and tested with Codex assistance; no human review is claimed.
Signed-off-by: NUAAwqy <[email protected]>
Co-Authored-By: Codex <[email protected]>
* fix: preserve Dask TTL request dtypes
Keep valid feature candidates unchanged and add a null-feature row only when every candidate for a request is outside the TTL window. This preserves ordinary integer dtypes when a valid candidate exists while retaining left-join behavior for expired requests.
Prepared with Codex assistance; no human review is claimed.
Signed-off-by: NUAAwqy <[email protected]>
* fix: preserve feature dtypes when restoring TTL rows
Keep eligible rows unchanged and re-add null rows only for requests with no eligible candidates, preserving integer feature dtypes.
Signed-off-by: NUAAwqy <[email protected]>
* fix: retain plain integer dtype when no TTL rows are missing
Return the filtered Dask frame unchanged when every request has an eligible candidate, and cover this path with a direct plain-int64 regression test.
Signed-off-by: NUAAwqy <[email protected]>
* fix: preserve request rows without widening matched integer features
Keep only requests that lose every eligible TTL candidate in the null-row path, so matched plain integer feature columns retain their dtype. Add regression coverage for both missing and all-matched requests.
Signed-off-by: NUAAwqy <[email protected]>
* fix: Handle Dask TTL filtering across partitions
Preserve entity requests whose feature candidates all fall outside the TTL
window without relying on the first Dask partition to detect missing rows.
Carry the TTL validity mask through the merge so row reordering cannot apply
stale indices, and cover multi-partition sources with a regression test.
The focused Dask TTL suite passes (17 tests), along with Ruff, formatting, and
diff checks.
Prepared with Codex assistance; no human review is claimed.
Signed-off-by: NUAAwqy <[email protected]>
* fix: preserve integer dtypes when masking expired features
Cast integer feature columns to pandas nullable integer dtypes before
masking expired candidates, so ordinary int64 inputs do not widen to
float64 when the left-join request row is preserved. Add a regression
covering the plain int64 source case.
Prepared and tested with Codex assistance; no human review is claimed.
Signed-off-by: NUAAwqy <[email protected]>
Co-Authored-By: Codex <[email protected]>
* fix: preserve integer dtypes when masking expired features
Cast integer feature columns to pandas nullable integer dtypes before
masking expired candidates, so ordinary int64 inputs do not widen to
float64 when the left-join request row is preserved. Add a regression
covering the plain int64 source case.
Prepared and tested with Codex assistance; no human review is claimed.
Signed-off-by: NUAAwqy <[email protected]>
Co-Authored-By: Codex <[email protected]>
* fix: preserve integer dtypes and multi-file TTL requests
Keep missing requests from later Dask partitions when TTL filtering
re-adds the left-join row, and preserve ordinary integer feature dtypes
when masking expired candidates. Extend regression coverage for
multi-file inputs and plain int64 source columns.
Prepared and tested with Codex assistance; no human review is claimed.
Signed-off-by: NUAAwqy <[email protected]>
Co-Authored-By: Codex <[email protected]>
* fix: preserve integer dtypes and multi-file TTL requests
Keep missing requests from later Dask partitions when TTL filtering
re-adds the left-join row, and preserve ordinary integer feature dtypes
when masking expired candidates. Extend regression coverage for
multi-file inputs and plain int64 source columns.
Prepared and tested with Codex assistance; no human review is claimed.
Signed-off-by: NUAAwqy <[email protected]>
Co-Authored-By: Codex <[email protected]>
* fix: preserve integer dtypes and multi-file TTL requests
Keep missing requests from later Dask partitions when TTL filtering
re-adds the left-join row, and preserve ordinary integer feature dtypes
when masking expired candidates. Extend regression coverage for
multi-file inputs and plain int64 source columns.
Prepared and tested with Codex assistance; no human review is claimed.
Signed-off-by: NUAAwqy <[email protected]>
Co-Authored-By: Codex <[email protected]>
* fix: preserve integer dtypes and multi-file TTL requests
Keep missing requests from later Dask partitions when TTL filtering
re-adds the left-join row, and preserve ordinary integer feature dtypes
when masking expired candidates. Extend regression coverage for
multi-file inputs and plain int64 source columns.
Prepared and tested with Codex assistance; no human review is claimed.
Signed-off-by: NUAAwqy <[email protected]>
Co-Authored-By: Codex <[email protected]>
* fix: preserve Dask TTL rows across partitions
Keep missing requests from later Dask partitions and preserve plain integer feature dtypes when TTL filtering.
Prepared and tested with Codex assistance; no human review is claimed.
Signed-off-by: NUAAwqy <[email protected]>
Co-Authored-By: Codex <[email protected]>
* Fix Dask TTL filtering across partitions
Preserve unmatched entity requests without widening integer feature columns. Add regressions for plain integer values, later Dask partitions, and merge row reordering.
Signed-off-by: NUAAwqy <[email protected]>
* fix: preserve integer dtypes and multi-file TTL requests
Keep missing requests from later Dask partitions when TTL filtering
re-adds the left-join row, and preserve ordinary integer feature dtypes
when masking expired candidates. Extend regression coverage for
multi-file inputs and plain int64 source columns.
Prepared and tested with Codex assistance; no human review is claimed.
Signed-off-by: NUAAwqy <[email protected]>
Co-Authored-By: Codex <[email protected]>
* fix: preserve integer dtypes and multi-file TTL requests
Keep missing requests from later Dask partitions when TTL filtering
re-adds the left-join row, and preserve ordinary integer feature dtypes
when masking expired candidates. Extend regression coverage for
multi-file inputs and plain int64 source columns.
Prepared and tested with Codex assistance; no human review is claimed.
Signed-off-by: NUAAwqy <[email protected]>
Co-Authored-By: Codex <[email protected]>
* fix: preserve integer dtypes and multi-file TTL requests
Keep missing requests from later Dask partitions when TTL filtering
re-adds the left-join row, and preserve ordinary integer feature dtypes
when masking expired candidates. Extend regression coverage for
multi-file inputs and plain int64 source columns.
Prepared and tested with Codex assistance; no human review is claimed.
Signed-off-by: NUAAwqy <[email protected]>
Co-Authored-By: Codex <[email protected]>
* fix: preserve integer dtypes and multi-file TTL requests
Keep missing requests from later Dask partitions when TTL filtering
re-adds the left-join row, and preserve ordinary integer feature dtypes
when masking expired candidates. Extend regression coverage for
multi-file inputs and plain int64 source columns.
Prepared and tested with Codex assistance; no human review is claimed.
Signed-off-by: NUAAwqy <[email protected]>
Co-Authored-By: Codex <[email protected]>
* fix: preserve integer dtypes and multi-file TTL requests
Keep missing requests from later Dask partitions when TTL filtering
re-adds the left-join row, and preserve ordinary integer feature dtypes
when masking expired candidates. Extend regression coverage for
multi-file inputs and plain int64 source columns.
Prepared and tested with Codex assistance; no human review is claimed.
Signed-off-by: NUAAwqy <[email protected]>
Co-Authored-By: Codex <[email protected]>
* fix: avoid hashing preserved entity columns in TTL filtering
Use only join keys and the entity timestamp to identify requests when
restoring rows that have no eligible feature candidates. Preserve
list-valued entity columns without requiring them to be hashable.
Prepared and tested with Codex assistance; no human review is claimed.
Signed-off-by: NUAAwqy <[email protected]>
Co-Authored-By: Codex <[email protected]>
* fix: avoid hashing preserved entity columns in TTL filtering
Use only join keys and the entity timestamp to identify requests when
restoring rows that have no eligible feature candidates. Preserve
list-valued entity columns without requiring them to be hashable.
Prepared and tested with Codex assistance; no human review is claimed.
Signed-off-by: NUAAwqy <[email protected]>
Co-Authored-By: Codex <[email protected]>
* fix: preserve Dask TTL request identity across partitions
Prepared and tested with Codex assistance.
Signed-off-by: NUAAwqy <[email protected]>
Co-Authored-By: Codex <[email protected]>
* fix: avoid hashing preserved columns in TTL request matching
Use only join keys and the entity timestamp to identify requests when
restoring rows that have no eligible feature candidates. Preserve
list-valued entity columns without requiring them to be hashable.
Prepared and tested with Codex assistance; no human review is claimed.
Signed-off-by: NUAAwqy <[email protected]>
* fix: avoid hashing preserved entity columns in TTL filtering
Use only join keys and the entity timestamp to identify requests when
restoring rows that have no eligible feature candidates. Preserve
list-valued entity columns without requiring them to be hashable.
Prepared and tested with Codex assistance; no human review is claimed.
Signed-off-by: NUAAwqy <[email protected]>
Co-Authored-By: Codex <[email protected]>
* fix: avoid hashing preserved entity columns in TTL filtering
Use only join keys and the entity timestamp to identify requests when
restoring rows that have no eligible feature candidates. Preserve
list-valued entity columns without requiring them to be hashable.
Prepared and tested with Codex assistance; no human review is claimed.
Signed-off-by: NUAAwqy <[email protected]>
Co-Authored-By: Codex <[email protected]>
* fix: avoid hashing preserved entity columns in TTL filtering
Use only join keys and the entity timestamp to identify requests when
restoring rows that have no eligible feature candidates. Preserve
list-valued entity columns without requiring them to be hashable.
Prepared and tested with Codex assistance; no human review is claimed.
Signed-off-by: NUAAwqy <[email protected]>
Co-Authored-By: Codex <[email protected]>
* fix: preserve Dask request rows across partitions
Keep the existing TTL filtering and restore only requests with no eligible candidate.
Use all Dask partitions when checking missing requests and carry validity through the merge.
Signed-off-by: NUAAwqy <[email protected]>
* fix: preserve Dask TTL request dtypes
Keep plain integer feature columns unchanged when all requests have eligible matches, and restore null rows only for requests that lose every candidate across Dask partitions.
Signed-off-by: NUAAwqy <[email protected]>
---------
Signed-off-by: NUAAwqy <[email protected]>
Signed-off-by: NUAAwqy <[email protected]>
Co-authored-by: Codex <[email protected]>
Co-authored-by: NUAAwqy <[email protected]>
Co-authored-by: Shuchu Han <[email protected]>1 parent b9926eb commit fff09f7
3 files changed
Lines changed: 459 additions & 26 deletions
File tree
- docs/reference/offline-stores
- sdk/python
- feast/infra/offline_stores
- tests/unit/infra/offline_stores
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
7 | 16 | | |
8 | 17 | | |
9 | 18 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| 17 | + | |
17 | 18 | | |
18 | 19 | | |
19 | 20 | | |
| |||
346 | 347 | | |
347 | 348 | | |
348 | 349 | | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
349 | 360 | | |
350 | 361 | | |
351 | 362 | | |
| |||
1209 | 1220 | | |
1210 | 1221 | | |
1211 | 1222 | | |
| 1223 | + | |
| 1224 | + | |
1212 | 1225 | | |
1213 | | - | |
| 1226 | + | |
| 1227 | + | |
| 1228 | + | |
| 1229 | + | |
1214 | 1230 | | |
1215 | | - | |
1216 | | - | |
1217 | | - | |
1218 | | - | |
1219 | | - | |
1220 | | - | |
1221 | | - | |
1222 | | - | |
1223 | | - | |
1224 | | - | |
1225 | | - | |
| 1231 | + | |
| 1232 | + | |
| 1233 | + | |
| 1234 | + | |
| 1235 | + | |
| 1236 | + | |
| 1237 | + | |
| 1238 | + | |
| 1239 | + | |
| 1240 | + | |
| 1241 | + | |
| 1242 | + | |
| 1243 | + | |
| 1244 | + | |
| 1245 | + | |
| 1246 | + | |
| 1247 | + | |
| 1248 | + | |
| 1249 | + | |
| 1250 | + | |
| 1251 | + | |
| 1252 | + | |
| 1253 | + | |
| 1254 | + | |
| 1255 | + | |
| 1256 | + | |
| 1257 | + | |
| 1258 | + | |
| 1259 | + | |
| 1260 | + | |
| 1261 | + | |
| 1262 | + | |
| 1263 | + | |
| 1264 | + | |
| 1265 | + | |
| 1266 | + | |
| 1267 | + | |
| 1268 | + | |
| 1269 | + | |
| 1270 | + | |
| 1271 | + | |
| 1272 | + | |
| 1273 | + | |
| 1274 | + | |
| 1275 | + | |
1226 | 1276 | | |
1227 | | - | |
1228 | | - | |
1229 | | - | |
1230 | | - | |
1231 | | - | |
1232 | | - | |
1233 | | - | |
1234 | | - | |
1235 | | - | |
1236 | | - | |
1237 | | - | |
1238 | | - | |
1239 | | - | |
1240 | | - | |
| 1277 | + | |
| 1278 | + | |
| 1279 | + | |
| 1280 | + | |
| 1281 | + | |
| 1282 | + | |
| 1283 | + | |
| 1284 | + | |
| 1285 | + | |
| 1286 | + | |
| 1287 | + | |
1241 | 1288 | | |
1242 | 1289 | | |
1243 | 1290 | | |
| |||
0 commit comments