Skip to content

Commit be91115

Browse files
authored
feat(MPM-668): Remove additional parsing of the schema (#41)
* Docker and composer changes * Avoid additional parsing of the schema
1 parent 79bed1d commit be91115

File tree

6 files changed

+12
-22
lines changed

6 files changed

+12
-22
lines changed

composer.json

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,6 @@
1010
"homepage": "https://careers.jobcloud.ch/en/our-team/?term=133"
1111
}
1212
],
13-
"repositories": [
14-
{
15-
"type": "vcs", "no-api": true, "url": "[email protected]:jobcloud/php-kafka-schema-registry-client.git"
16-
}
17-
],
1813
"require": {
1914
"php": ">=7.4",
2015
"ext-json": "*",

docker/.env

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
COMPOSE_PROJECT_NAME=php-console-kafka-schema-registry

docker/dev/php/Dockerfile

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,7 @@ COPY files/php/ /phpIni
77

88
# SYS: Install required packages
99
RUN apk --no-cache upgrade && \
10-
apk --no-cache add bash git sudo openssh autoconf gcc g++ make gettext make shadow
11-
12-
RUN apk add librdkafka librdkafka-dev \
13-
--update-cache --repository http://dl-3.alpinelinux.org/alpine/edge/community
10+
apk --no-cache add bash git sudo openssh autoconf gcc g++ make gettext make shadow librdkafka librdkafka-dev
1411

1512
# SYS: add ssh key (for GitHub)
1613
COPY --chown=www-data:www-data files/.ssh /home/www-data/.ssh

docker/docker-compose.yml

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,8 @@ services:
1010
environment:
1111
KAFKA_SCHEMA_REGISTRY_URL: 'jobcloud-kafka-schema-registry:9081'
1212
extra_hosts:
13-
- "jobcloud-kafka-schema-registry:172.17.0.1"
13+
- "jobcloud-kafka-schema-registry:host-gateway"
1414
volumes:
1515
- ../:/app/
1616
working_dir: /app
1717
tty: true
18-
secrets:
19-
- ssh_host_key
20-
21-
secrets:
22-
ssh_host_key:
23-
file: ~/.ssh/id_rsa

src/Command/RegisterChangedSchemasCommand.php

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
namespace Jobcloud\SchemaConsole\Command;
44

5-
use AvroSchema;
6-
use AvroSchemaParseException;
75
use Jobcloud\Kafka\SchemaRegistryClient\Exception\SubjectNotFoundException;
86
use Jobcloud\Kafka\SchemaRegistryClient\KafkaSchemaRegistryApiClientInterface;
97
use Jobcloud\SchemaConsole\Helper\SchemaFileHelper;
@@ -151,17 +149,16 @@ private function registerFiles(
151149
}
152150

153151
try {
154-
$schema = AvroSchema::parse($localSchema);
155-
} catch (AvroSchemaParseException $e) {
152+
$this->schemaRegistryApi->registerNewSchemaVersion($schemaName, $localSchema);
153+
} catch (\Throwable $e) {
156154
$io->writeln(sprintf('Skipping %s for now because %s', $schemaName, $e->getMessage()));
157155
$failed[$schemaName] = $schemaName;
158156
continue;
159157
}
160-
$this->schemaRegistryApi->registerNewSchemaVersion($schemaName, $schema);
161158

162159
$succeeded[$schemaName] = [
163160
'name' => $schemaName,
164-
'version' => $this->schemaRegistryApi->getVersionForSchema($schemaName, $schema),
161+
'version' => $this->schemaRegistryApi->getVersionForSchema($schemaName, $localSchema),
165162
];
166163
unset($failed[$schemaName]);
167164

tests/Command/RegisterChangedSchemasCommandTest.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,12 @@ public function testOutputWhenCommandFailsRegisteringASchema(): void
201201
'getLatestSubjectVersion' => '1'
202202
]);
203203

204+
$schemaRegistryApi->expects(self::exactly(10))
205+
->method('registerNewSchemaVersion')
206+
->willThrowException(
207+
new \Exception('Skipping test.schema.1 for now because is not a schema we know about.')
208+
);
209+
204210
$application = new Application();
205211
$application->add(new RegisterChangedSchemasCommand($schemaRegistryApi));
206212
$command = $application->find('kafka-schema-registry:register:changed');

0 commit comments

Comments
 (0)