New Kafka Endpoint - #4774
Conversation
* Allow jetson test to confiure default shm size for python backend * Update jetson docs for 22.03
* Add test case for shutdown * Address comment * Fix up * Address comment
* Add metric API unit test to L0_metrics * Fix up * Fix shared library path
* Set address for metrics when http service is disable * Update comment * Update documentation
* Add testing for the lifetime of BLS tensors * Review edit
* Add test for optional input in Python backend * Review edit * Review edit * Reduce the default backend shared memory usage * Reduce the tensor size of non-contiguous test
* Add Perf Analyzer unit tests CI test * Addressed comments
* Add CLI test for MLFlow plugin * Add Python test. Fix up * Add newline
* Build pa with tfs and ts * Update flag names * Install cmake and rapidjson on sdk for test * Add l0 client build variants * Move installation of build deps to test * Add indent * Build without TFS/TS for most variants * Remove cmake 18.04 version
Co-authored-by: GuanLuo <gluo@nvidia.com>
- CPU only builds need deps from GPU enabled container
* Update build.py to generate scripts containing build commands * Add --enable-all to build.py * Update docs for new build.py behavior * Don't include build dir in copyright check * Format
* Fix compose.py to allow configurable gpu-min container * Fix missing gpu-min in allowed image names
* updated qa tests to expect the new max_batch_size default-max-batch-size is now a global backend config documented default-max-batch-size feature * parsing backend config options is now global backend aware
Small fix to render test documentation correctly.
* Fix L0_backend_python * Review edit
| # apt get update | ||
| # apt install -y install default-jre | ||
| # apt install -y doctest-dev | ||
| # apt install -y libboost-program-options-dev | ||
| # LD_LIBRARY_PATH=/opt/tritonserver/lib:$LD_LIBRARY_PATH | ||
| # LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH No newline at end of file |
There was a problem hiding this comment.
Also removing "libboost-program-options-dev " from build.py. It used to be a dependency but after removing many of the unnecessary directories from the modern-cpp-kafka directory in the third_party repo, I don't think it's necessary anymore. Mentioning it just in case.
| # Endpoints | ||
| option(TRITON_ENABLE_HTTP "Include HTTP API in server" ON) | ||
| option(TRITON_ENABLE_GRPC "Include GRPC API in server" ON) | ||
| option(TRITON_ENABLE_KAFKA "Include Kafka API in server" ON) |
There was a problem hiding this comment.
should this be OFF by default? @GuanLuo
and if so, we might need to update some gitlab-ci.yaml or build.py arg to set it to ON explicitly for CI.
| # On windows the paths invoked by the script (running in WSL) must use | ||
| # /mnt/c when needed but the paths on the tritonserver command-line | ||
| # must be C:/ style. | ||
| if [[ "$(< /proc/sys/kernel/osrelease)" == *microsoft* ]]; then | ||
| MODELDIR=${MODELDIR:=C:/models} | ||
| DATADIR=${DATADIR:="/mnt/c/data/inferenceserver/${REPO_VERSION}"} | ||
| BACKEND_DIR=${BACKEND_DIR:=C:/tritonserver/backends} | ||
| SERVER=${SERVER:=/mnt/c/tritonserver/bin/tritonserver.exe} | ||
| export WSLENV=$WSLENV:TRITONSERVER_DELAY_SCHEDULER |
There was a problem hiding this comment.
is this test going to be run on windows?
| auto_offset_reset='latest', | ||
| enable_auto_commit=True, | ||
| bootstrap_servers=f"{_tritonserver_ipaddr}:9092") | ||
| KafkaTest.consumer_.poll() |
There was a problem hiding this comment.
Add comment with link to what this "dummy poll" is for
| # Brand new topic partition | ||
| print(end) | ||
| if(end != 0): | ||
| self.consumer_.seek(partition, end-1) |
There was a problem hiding this comment.
plus link if relevant
| self.consumer_.seek(partition, end-1) | |
| # seek to latest message (end-1) | |
| self.consumer_.seek(partition, end-1) |
There was a problem hiding this comment.
This is mentioned in the comment block just above
| // Permitted b/c strings are stored as contiguous memory in c++11 | ||
| char* start = &binary_data[binary_data_offset]; | ||
| // TODO: This should not be necessary. Retry using memcpy. | ||
| unsigned char* base = (unsigned char*)malloc(payload_length + 1); |
| DisplayConsumerTopics(); | ||
|
|
||
| while (consumer_active_) { | ||
| auto records = consumer_->poll(std::chrono::milliseconds(100)); |
There was a problem hiding this comment.
Is there an event based system where consumer wakes up when there's a request, or does it have to be polled? Is the 100ms arbitrary or a best practice?
There was a problem hiding this comment.
Should add this to the doc
4f65cf1 to
3344f35
Compare
3344f35 to
1143ec9
Compare
|
Did we got anything there? Kafka is nice idea for multi triton server |
|
Just curious, are there any updates when this will be merged? Looking for kafka endpoint support as well! |
1143ec9 to
cfe9209
Compare
Changes are made in conjunction with changes made to the third_party repo: triton-inference-server/third_party#21