+
Skip to content

Tags: facebook/fbthrift

Tags

v2025.10.06.00

Toggle v2025.10.06.00's commit message
Generate ServiceMetadata from schema.thrift

Summary: Similar to previous diff, but for ServiceMetadata.

Reviewed By: thedavekwon

Differential Revision: D82437949

fbshipit-source-id: 86e561733e650d5bbf72a5084a9a5778ae64f090

v2025.09.22.00

Toggle v2025.09.22.00's commit message
Remove empty explicit URI annotation from typedefs in built-in any, p…

…rotocol and Object

Summary:
Remove explicit `thrift.Uri` annotation from built-in typedefs, in preparation for removing `scope.Typedef` from `thrift.Uri`.

Since these typedefs are not annotated with `thrift.AllowLegacyTypedefUri`, the compiler already enforces an empty URI.

Reviewed By: thedavekwon

Differential Revision: D82867585

fbshipit-source-id: 536debcbe38de1569b5bdd6a6db2acfe874d4e6c

v2025.09.15.00

Toggle v2025.09.15.00's commit message

v2025.09.08.00

Toggle v2025.09.08.00's commit message
Revert D81597877

Summary:
This diff reverts D81597877
T237166478

Depends on D81597877

Reviewed By: Mizuchi

Differential Revision: D81914786

fbshipit-source-id: ae96ef595d31caefe1afe1044c928998c8d5d7a1

v2025.09.01.00

Toggle v2025.09.01.00's commit message
fbcode/thrift/lib/thrift/

Differential Revision: D81300705

fbshipit-source-id: 943ab492f1948f23ca2a416edea9574851267b6a

v2025.08.18.00

Toggle v2025.08.18.00's commit message
basic sink tests

Summary: These tests cover all the basic cases w/r/t regular sink-ing behavior, early returns, expected and unexpected exceptions.

Reviewed By: prakashgayasen

Differential Revision: D79922296

fbshipit-source-id: 873a161d11fdef2b36eabaefdcff26ac700520a8

v2025.08.11.00

Toggle v2025.08.11.00's commit message
Decouple serialization and types more

Summary:
We are decoupling serialization and types to speed up modular builds. This is based on the observation that serialization code consists of large templates that few users need to consume directly. Decoupling is mostly complete on the target level and the remaining part is making the `<module>-cpp2-serialization` target a private dependency of `<module>-cpp2-types` as in the following diagram (currently it is a public dependency):

```
          [<module>-cpp2-types-headers]
                  ^          ^
          (public)|          |(public)
                  |          |
[<module>-cpp2-types] --> [<module>-cpp2-serialization]
                   (private)
```

The main remaining blocker is that the generated `<module>_types.cpp` includes `<module>_types.tcc` which is a header currently combining some implementation details of types and serialization code. It also contains some remnants of serialization code itself even after most of it has been moved to separate translation units.

This diff decouples serialization from types by moving the serialization code that is currently in `<module>_types.tcc` to `<module>_custom_protocol.h` and the one that is currently in `<module>_types.cpp` to `<module>_types_serialization.cpp`. `<module>_custom_protocol.h` headers are arguably a better fit for this than `<module>_types.tcc` which were often misused (D79115339).

This also prevents users from creating semi-broken targets with some headers not includable due to long paths on Windows (see e.g. D79198470).

And last but not least it slightly improves build speed as measured by `benchmark_diff --diff D79106423 --top-slow 1000`:

```
+-----------------------------------------------------------------+------------+--------------+----------------------+--------------------+
| Measurement name                                                | End date   |   All fbcode |   Monetization Users |   Monetization Org |
| https://www.internalfb.com/phabricator/paste/view/P1898352612   |            |      avg EYS |              avg EYS |            avg EYS |
+=================================================================+============+==============+======================+====================+
| benchmark/D79106423/1754691520_a2f9eb1c                         | 2025-08-08 |      0.01398 |              0.02013 |            0.01664 |
+-----------------------------------------------------------------+------------+--------------+----------------------+--------------------+
```
Per week measurement data in markdown:
[07/11-07/18](https://www.internalfb.com/phabricator/paste/view/P1898344930) - -0.00068 EYS - 1875 builds - Top user: nikitabhalla: 0.00307 (-451.64%)
[07/18-07/25](https://www.internalfb.com/phabricator/paste/view/P1898350876) - 0.04267 EYS - 1724 builds - Top user: bzan: 0.00317 (7.44%)
[07/25-08/01](https://www.internalfb.com/phabricator/paste/view/P1898348469) - 0.00424 EYS - 1713 builds - Top user: chenyh: 0.00329 (77.74%)
[08/01-08/08](https://www.internalfb.com/phabricator/paste/view/P1898352431) - 0.00969 EYS - 2058 builds - Top user: neelansh: 0.00511 (52.72%)

More context: T206890027.

Reviewed By: iahs

Differential Revision: D79106423

fbshipit-source-id: 54897209026837371f5ceadf6d9ab0f41d466cf8

v2025.08.04.00

Toggle v2025.08.04.00's commit message
fix blame on unexpected sink exception

Summary:
Small re-factor so that if the sinks throws an unexpected exception on the sink side, the blame gets encoded properly.

If we don't like that unexpected exception is wrapped in `ApplicationError`, we can do a bigger refactor so sink has its own custom handling of unexpected exception.

Reviewed By: prakashgayasen

Differential Revision: D79474562

fbshipit-source-id: e4e2b48f7aa92848331e96e38880d0943fc9a41e
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载