We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Clarify max query limit on bulk query endpoint
Looks like there's [a limit to the number of queries](https://github.com/google/osv/blob/168a6b2c593d4fac2defbc8546e634256cdfa5b0/gcp/api/server.py#L92-L94) that can be submitted at once with the bulk query endpoint, which is [set to 1000](https://github.com/google/osv/blob/168a6b2c593d4fac2defbc8546e634256cdfa5b0/gcp/api/server.py#L42).

It's understandable but not documented in the api docs as far as I can see.

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `gcp/api/osv_service_v1_pb2_grpc.py`
Content:
```
1 # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2 """Client and server classes corresponding to protobuf-defined services."""
3 import grpc
4 
5 from osv import vulnerability_pb2 as osv_dot_vulnerability__pb2
6 import osv_service_v1_pb2 as osv__service__v1__pb2
7 
8 
9 class OSVStub(object):
10     """Open source vulnerability database.
11     """
12 
13     def __init__(self, channel):
14         """Constructor.
15 
16         Args:
17             channel: A grpc.Channel.
18         """
19         self.GetVulnById = channel.unary_unary(
20                 '/osv.v1.OSV/GetVulnById',
21                 request_serializer=osv__service__v1__pb2.GetVulnByIdParameters.SerializeToString,
22                 response_deserializer=osv_dot_vulnerability__pb2.Vulnerability.FromString,
23                 )
24         self.QueryAffected = channel.unary_unary(
25                 '/osv.v1.OSV/QueryAffected',
26                 request_serializer=osv__service__v1__pb2.QueryAffectedParameters.SerializeToString,
27                 response_deserializer=osv__service__v1__pb2.VulnerabilityList.FromString,
28                 )
29         self.QueryAffectedBatch = channel.unary_unary(
30                 '/osv.v1.OSV/QueryAffectedBatch',
31                 request_serializer=osv__service__v1__pb2.QueryAffectedBatchParameters.SerializeToString,
32                 response_deserializer=osv__service__v1__pb2.BatchVulnerabilityList.FromString,
33                 )
34 
35 
36 class OSVServicer(object):
37     """Open source vulnerability database.
38     """
39 
40     def GetVulnById(self, request, context):
41         """Return a `Vulnerability` object for a given OSV ID.
42         """
43         context.set_code(grpc.StatusCode.UNIMPLEMENTED)
44         context.set_details('Method not implemented!')
45         raise NotImplementedError('Method not implemented!')
46 
47     def QueryAffected(self, request, context):
48         """Query vulnerabilities for a particular project at a given commit or
49         version.
50         """
51         context.set_code(grpc.StatusCode.UNIMPLEMENTED)
52         context.set_details('Method not implemented!')
53         raise NotImplementedError('Method not implemented!')
54 
55     def QueryAffectedBatch(self, request, context):
56         """Query vulnerabilities (batched) for given package versions and commits.
57         """
58         context.set_code(grpc.StatusCode.UNIMPLEMENTED)
59         context.set_details('Method not implemented!')
60         raise NotImplementedError('Method not implemented!')
61 
62 
63 def add_OSVServicer_to_server(servicer, server):
64     rpc_method_handlers = {
65             'GetVulnById': grpc.unary_unary_rpc_method_handler(
66                     servicer.GetVulnById,
67                     request_deserializer=osv__service__v1__pb2.GetVulnByIdParameters.FromString,
68                     response_serializer=osv_dot_vulnerability__pb2.Vulnerability.SerializeToString,
69             ),
70             'QueryAffected': grpc.unary_unary_rpc_method_handler(
71                     servicer.QueryAffected,
72                     request_deserializer=osv__service__v1__pb2.QueryAffectedParameters.FromString,
73                     response_serializer=osv__service__v1__pb2.VulnerabilityList.SerializeToString,
74             ),
75             'QueryAffectedBatch': grpc.unary_unary_rpc_method_handler(
76                     servicer.QueryAffectedBatch,
77                     request_deserializer=osv__service__v1__pb2.QueryAffectedBatchParameters.FromString,
78                     response_serializer=osv__service__v1__pb2.BatchVulnerabilityList.SerializeToString,
79             ),
80     }
81     generic_handler = grpc.method_handlers_generic_handler(
82             'osv.v1.OSV', rpc_method_handlers)
83     server.add_generic_rpc_handlers((generic_handler,))
84 
85 
86  # This class is part of an EXPERIMENTAL API.
87 class OSV(object):
88     """Open source vulnerability database.
89     """
90 
91     @staticmethod
92     def GetVulnById(request,
93             target,
94             options=(),
95             channel_credentials=None,
96             call_credentials=None,
97             insecure=False,
98             compression=None,
99             wait_for_ready=None,
100             timeout=None,
101             metadata=None):
102         return grpc.experimental.unary_unary(request, target, '/osv.v1.OSV/GetVulnById',
103             osv__service__v1__pb2.GetVulnByIdParameters.SerializeToString,
104             osv_dot_vulnerability__pb2.Vulnerability.FromString,
105             options, channel_credentials,
106             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
107 
108     @staticmethod
109     def QueryAffected(request,
110             target,
111             options=(),
112             channel_credentials=None,
113             call_credentials=None,
114             insecure=False,
115             compression=None,
116             wait_for_ready=None,
117             timeout=None,
118             metadata=None):
119         return grpc.experimental.unary_unary(request, target, '/osv.v1.OSV/QueryAffected',
120             osv__service__v1__pb2.QueryAffectedParameters.SerializeToString,
121             osv__service__v1__pb2.VulnerabilityList.FromString,
122             options, channel_credentials,
123             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
124 
125     @staticmethod
126     def QueryAffectedBatch(request,
127             target,
128             options=(),
129             channel_credentials=None,
130             call_credentials=None,
131             insecure=False,
132             compression=None,
133             wait_for_ready=None,
134             timeout=None,
135             metadata=None):
136         return grpc.experimental.unary_unary(request, target, '/osv.v1.OSV/QueryAffectedBatch',
137             osv__service__v1__pb2.QueryAffectedBatchParameters.SerializeToString,
138             osv__service__v1__pb2.BatchVulnerabilityList.FromString,
139             options, channel_credentials,
140             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
141
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/gcp/api/osv_service_v1_pb2_grpc.py b/gcp/api/osv_service_v1_pb2_grpc.py
--- a/gcp/api/osv_service_v1_pb2_grpc.py
+++ b/gcp/api/osv_service_v1_pb2_grpc.py
@@ -54,6 +54,7 @@
 
     def QueryAffectedBatch(self, request, context):
         """Query vulnerabilities (batched) for given package versions and commits.
+        This currently allows a maximum of 1000 package versions to be included in a single query.
         """
         context.set_code(grpc.StatusCode.UNIMPLEMENTED)
         context.set_details('Method not implemented!')

{"golden_diff": "diff --git a/gcp/api/osv_service_v1_pb2_grpc.py b/gcp/api/osv_service_v1_pb2_grpc.py\n--- a/gcp/api/osv_service_v1_pb2_grpc.py\n+++ b/gcp/api/osv_service_v1_pb2_grpc.py\n@@ -54,6 +54,7 @@\n \n     def QueryAffectedBatch(self, request, context):\n         \"\"\"Query vulnerabilities (batched) for given package versions and commits.\n+        This currently allows a maximum of 1000 package versions to be included in a single query.\n         \"\"\"\n         context.set_code(grpc.StatusCode.UNIMPLEMENTED)\n         context.set_details('Method not implemented!')\n", "issue": "Clarify max query limit on bulk query endpoint\nLooks like there's [a limit to the number of queries](https://github.com/google/osv/blob/168a6b2c593d4fac2defbc8546e634256cdfa5b0/gcp/api/server.py#L92-L94) that can be submitted at once with the bulk query endpoint, which is [set to 1000](https://github.com/google/osv/blob/168a6b2c593d4fac2defbc8546e634256cdfa5b0/gcp/api/server.py#L42).\r\n\r\nIt's understandable but not documented in the api docs as far as I can see.\n", "before_files": [{"content": "# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!\n\"\"\"Client and server classes corresponding to protobuf-defined services.\"\"\"\nimport grpc\n\nfrom osv import vulnerability_pb2 as osv_dot_vulnerability__pb2\nimport osv_service_v1_pb2 as osv__service__v1__pb2\n\n\nclass OSVStub(object):\n    \"\"\"Open source vulnerability database.\n    \"\"\"\n\n    def __init__(self, channel):\n        \"\"\"Constructor.\n\n        Args:\n            channel: A grpc.Channel.\n        \"\"\"\n        self.GetVulnById = channel.unary_unary(\n                '/osv.v1.OSV/GetVulnById',\n                request_serializer=osv__service__v1__pb2.GetVulnByIdParameters.SerializeToString,\n                response_deserializer=osv_dot_vulnerability__pb2.Vulnerability.FromString,\n                )\n        self.QueryAffected = channel.unary_unary(\n                '/osv.v1.OSV/QueryAffected',\n                request_serializer=osv__service__v1__pb2.QueryAffectedParameters.SerializeToString,\n                response_deserializer=osv__service__v1__pb2.VulnerabilityList.FromString,\n                )\n        self.QueryAffectedBatch = channel.unary_unary(\n                '/osv.v1.OSV/QueryAffectedBatch',\n                request_serializer=osv__service__v1__pb2.QueryAffectedBatchParameters.SerializeToString,\n                response_deserializer=osv__service__v1__pb2.BatchVulnerabilityList.FromString,\n                )\n\n\nclass OSVServicer(object):\n    \"\"\"Open source vulnerability database.\n    \"\"\"\n\n    def GetVulnById(self, request, context):\n        \"\"\"Return a `Vulnerability` object for a given OSV ID.\n        \"\"\"\n        context.set_code(grpc.StatusCode.UNIMPLEMENTED)\n        context.set_details('Method not implemented!')\n        raise NotImplementedError('Method not implemented!')\n\n    def QueryAffected(self, request, context):\n        \"\"\"Query vulnerabilities for a particular project at a given commit or\n        version.\n        \"\"\"\n        context.set_code(grpc.StatusCode.UNIMPLEMENTED)\n        context.set_details('Method not implemented!')\n        raise NotImplementedError('Method not implemented!')\n\n    def QueryAffectedBatch(self, request, context):\n        \"\"\"Query vulnerabilities (batched) for given package versions and commits.\n        \"\"\"\n        context.set_code(grpc.StatusCode.UNIMPLEMENTED)\n        context.set_details('Method not implemented!')\n        raise NotImplementedError('Method not implemented!')\n\n\ndef add_OSVServicer_to_server(servicer, server):\n    rpc_method_handlers = {\n            'GetVulnById': grpc.unary_unary_rpc_method_handler(\n                    servicer.GetVulnById,\n                    request_deserializer=osv__service__v1__pb2.GetVulnByIdParameters.FromString,\n                    response_serializer=osv_dot_vulnerability__pb2.Vulnerability.SerializeToString,\n            ),\n            'QueryAffected': grpc.unary_unary_rpc_method_handler(\n                    servicer.QueryAffected,\n                    request_deserializer=osv__service__v1__pb2.QueryAffectedParameters.FromString,\n                    response_serializer=osv__service__v1__pb2.VulnerabilityList.SerializeToString,\n            ),\n            'QueryAffectedBatch': grpc.unary_unary_rpc_method_handler(\n                    servicer.QueryAffectedBatch,\n                    request_deserializer=osv__service__v1__pb2.QueryAffectedBatchParameters.FromString,\n                    response_serializer=osv__service__v1__pb2.BatchVulnerabilityList.SerializeToString,\n            ),\n    }\n    generic_handler = grpc.method_handlers_generic_handler(\n            'osv.v1.OSV', rpc_method_handlers)\n    server.add_generic_rpc_handlers((generic_handler,))\n\n\n # This class is part of an EXPERIMENTAL API.\nclass OSV(object):\n    \"\"\"Open source vulnerability database.\n    \"\"\"\n\n    @staticmethod\n    def GetVulnById(request,\n            target,\n            options=(),\n            channel_credentials=None,\n            call_credentials=None,\n            insecure=False,\n            compression=None,\n            wait_for_ready=None,\n            timeout=None,\n            metadata=None):\n        return grpc.experimental.unary_unary(request, target, '/osv.v1.OSV/GetVulnById',\n            osv__service__v1__pb2.GetVulnByIdParameters.SerializeToString,\n            osv_dot_vulnerability__pb2.Vulnerability.FromString,\n            options, channel_credentials,\n            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)\n\n    @staticmethod\n    def QueryAffected(request,\n            target,\n            options=(),\n            channel_credentials=None,\n            call_credentials=None,\n            insecure=False,\n            compression=None,\n            wait_for_ready=None,\n            timeout=None,\n            metadata=None):\n        return grpc.experimental.unary_unary(request, target, '/osv.v1.OSV/QueryAffected',\n            osv__service__v1__pb2.QueryAffectedParameters.SerializeToString,\n            osv__service__v1__pb2.VulnerabilityList.FromString,\n            options, channel_credentials,\n            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)\n\n    @staticmethod\n    def QueryAffectedBatch(request,\n            target,\n            options=(),\n            channel_credentials=None,\n            call_credentials=None,\n            insecure=False,\n            compression=None,\n            wait_for_ready=None,\n            timeout=None,\n            metadata=None):\n        return grpc.experimental.unary_unary(request, target, '/osv.v1.OSV/QueryAffectedBatch',\n            osv__service__v1__pb2.QueryAffectedBatchParameters.SerializeToString,\n            osv__service__v1__pb2.BatchVulnerabilityList.FromString,\n            options, channel_credentials,\n            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)\n", "path": "gcp/api/osv_service_v1_pb2_grpc.py"}], "after_files": [{"content": "# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!\n\"\"\"Client and server classes corresponding to protobuf-defined services.\"\"\"\nimport grpc\n\nfrom osv import vulnerability_pb2 as osv_dot_vulnerability__pb2\nimport osv_service_v1_pb2 as osv__service__v1__pb2\n\n\nclass OSVStub(object):\n    \"\"\"Open source vulnerability database.\n    \"\"\"\n\n    def __init__(self, channel):\n        \"\"\"Constructor.\n\n        Args:\n            channel: A grpc.Channel.\n        \"\"\"\n        self.GetVulnById = channel.unary_unary(\n                '/osv.v1.OSV/GetVulnById',\n                request_serializer=osv__service__v1__pb2.GetVulnByIdParameters.SerializeToString,\n                response_deserializer=osv_dot_vulnerability__pb2.Vulnerability.FromString,\n                )\n        self.QueryAffected = channel.unary_unary(\n                '/osv.v1.OSV/QueryAffected',\n                request_serializer=osv__service__v1__pb2.QueryAffectedParameters.SerializeToString,\n                response_deserializer=osv__service__v1__pb2.VulnerabilityList.FromString,\n                )\n        self.QueryAffectedBatch = channel.unary_unary(\n                '/osv.v1.OSV/QueryAffectedBatch',\n                request_serializer=osv__service__v1__pb2.QueryAffectedBatchParameters.SerializeToString,\n                response_deserializer=osv__service__v1__pb2.BatchVulnerabilityList.FromString,\n                )\n\n\nclass OSVServicer(object):\n    \"\"\"Open source vulnerability database.\n    \"\"\"\n\n    def GetVulnById(self, request, context):\n        \"\"\"Return a `Vulnerability` object for a given OSV ID.\n        \"\"\"\n        context.set_code(grpc.StatusCode.UNIMPLEMENTED)\n        context.set_details('Method not implemented!')\n        raise NotImplementedError('Method not implemented!')\n\n    def QueryAffected(self, request, context):\n        \"\"\"Query vulnerabilities for a particular project at a given commit or\n        version.\n        \"\"\"\n        context.set_code(grpc.StatusCode.UNIMPLEMENTED)\n        context.set_details('Method not implemented!')\n        raise NotImplementedError('Method not implemented!')\n\n    def QueryAffectedBatch(self, request, context):\n        \"\"\"Query vulnerabilities (batched) for given package versions and commits.\n        This currently allows a maximum of 1000 package versions to be included in a single query.\n        \"\"\"\n        context.set_code(grpc.StatusCode.UNIMPLEMENTED)\n        context.set_details('Method not implemented!')\n        raise NotImplementedError('Method not implemented!')\n\n\ndef add_OSVServicer_to_server(servicer, server):\n    rpc_method_handlers = {\n            'GetVulnById': grpc.unary_unary_rpc_method_handler(\n                    servicer.GetVulnById,\n                    request_deserializer=osv__service__v1__pb2.GetVulnByIdParameters.FromString,\n                    response_serializer=osv_dot_vulnerability__pb2.Vulnerability.SerializeToString,\n            ),\n            'QueryAffected': grpc.unary_unary_rpc_method_handler(\n                    servicer.QueryAffected,\n                    request_deserializer=osv__service__v1__pb2.QueryAffectedParameters.FromString,\n                    response_serializer=osv__service__v1__pb2.VulnerabilityList.SerializeToString,\n            ),\n            'QueryAffectedBatch': grpc.unary_unary_rpc_method_handler(\n                    servicer.QueryAffectedBatch,\n                    request_deserializer=osv__service__v1__pb2.QueryAffectedBatchParameters.FromString,\n                    response_serializer=osv__service__v1__pb2.BatchVulnerabilityList.SerializeToString,\n            ),\n    }\n    generic_handler = grpc.method_handlers_generic_handler(\n            'osv.v1.OSV', rpc_method_handlers)\n    server.add_generic_rpc_handlers((generic_handler,))\n\n\n # This class is part of an EXPERIMENTAL API.\nclass OSV(object):\n    \"\"\"Open source vulnerability database.\n    \"\"\"\n\n    @staticmethod\n    def GetVulnById(request,\n            target,\n            options=(),\n            channel_credentials=None,\n            call_credentials=None,\n            insecure=False,\n            compression=None,\n            wait_for_ready=None,\n            timeout=None,\n            metadata=None):\n        return grpc.experimental.unary_unary(request, target, '/osv.v1.OSV/GetVulnById',\n            osv__service__v1__pb2.GetVulnByIdParameters.SerializeToString,\n            osv_dot_vulnerability__pb2.Vulnerability.FromString,\n            options, channel_credentials,\n            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)\n\n    @staticmethod\n    def QueryAffected(request,\n            target,\n            options=(),\n            channel_credentials=None,\n            call_credentials=None,\n            insecure=False,\n            compression=None,\n            wait_for_ready=None,\n            timeout=None,\n            metadata=None):\n        return grpc.experimental.unary_unary(request, target, '/osv.v1.OSV/QueryAffected',\n            osv__service__v1__pb2.QueryAffectedParameters.SerializeToString,\n            osv__service__v1__pb2.VulnerabilityList.FromString,\n            options, channel_credentials,\n            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)\n\n    @staticmethod\n    def QueryAffectedBatch(request,\n            target,\n            options=(),\n            channel_credentials=None,\n            call_credentials=None,\n            insecure=False,\n            compression=None,\n            wait_for_ready=None,\n            timeout=None,\n            metadata=None):\n        return grpc.experimental.unary_unary(request, target, '/osv.v1.OSV/QueryAffectedBatch',\n            osv__service__v1__pb2.QueryAffectedBatchParameters.SerializeToString,\n            osv__service__v1__pb2.BatchVulnerabilityList.FromString,\n            options, channel_credentials,\n            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)\n", "path": "gcp/api/osv_service_v1_pb2_grpc.py"}]}