Parallel Consumer does not get records from poll after OFFSET_OUT_OF_RANGE in auto.offset.reset = earliest

Discussed in https://github.com/confluentinc/parallel-consumer/discussions/351

Originally posted by jikeshdpatel July 14, 2022
Hi @astubbs , this is a great library and improves the performance drastically. However, I am seeing some strange issue. I feel like it is because of the auto_offset_reset = earliest.

Populated events in topic
Started parallel consumer with auto_offset_reset = earliest and it started consuming from beginning.
Stopped the process let's say at offset 5000, at partition 3 and PC was behind 1000 events. Similarly stats for other 5 partitions.
Waited until the topic's retention period.
Produced more records. waited for retention period and then produced more records.
Started PC and it only consumes from a partition 5 (last partition). I am not sure whether PC was lagging behind on partition 5.
I have started a spring kafka listener (with auto_offset_reset = earliest) for partition 3 and it started consuming
Stopped spring kafka and started PC (with auto_offset_reset = earliest) and it now consumes from partitions 5 and 3
Stopped PC and started it with auto_offset_reset = latest and now it starts consuming from all the partitions.

The processing order was based on KEY.
Can you please advise on how should I further debug it ?
Thank you for your help!
Below are the config:
2022-07-14 17:17:32.036 INFO [main] [org.apache.kafka.coborker01mmon.config.AbstractConfig.logAll(AbstractConfig.java:372)] - ConsumerConfig values:
allow.auto.create.topics = true
auto.commit.interval.ms = 5000
auto.offset.reset = earliest
bootstrap.servers = [broker01:9092]
check.crcs = true
client.dns.lookup = use_all_dns_ips
client.id = client-01
client.rack =
connections.max.idle.ms = 540000
default.api.timeout.ms = 60000
enable.auto.commit = false
exclude.internal.topics = true
fetch.max.bytes = 52428800
fetch.max.wait.ms = 500
fetch.min.bytes = 1
group.id = app-group-01
group.instance.id = null
heartbeat.interval.ms = 3000
interceptor.classes = []
internal.leave.group.on.close = true
internal.throw.on.fetch.stable.offset.unsupported = false
isolation.level = read_uncommitted
key.deserializer = class org.apache.kafka.common.serialization.StringDeserializer
max.partition.fetch.bytes = 1048576
max.poll.interval.ms = 300000
max.poll.records = 500
metadata.max.age.ms = 300000
metric.reporters = []
metrics.num.samples = 2
metrics.recording.level = INFO
metrics.sample.window.ms = 30000
partition.assignment.strategy = [class org.apache.kafka.clients.consumer.RangeAssignor]
receive.buffer.bytes = 65536
reconnect.backoff.max.ms = 1000
reconnect.backoff.ms = 50
request.timeout.ms = 30000
retry.backoff.ms = 100
sasl.client.callback.handler.class = null
sasl.jaas.config = [hidden]
sasl.kerberos.kinit.cmd = /usr/bin/kinit
sasl.kerberos.min.time.before.relogin = 60000
sasl.kerberos.service.name = null
sasl.kerberos.ticket.renew.jitter = 0.05
sasl.kerberos.ticket.renew.window.factor = 0.8
sasl.login.callback.handler.class = null
sasl.login.class = null
sasl.login.refresh.buffer.seconds = 300
sasl.login.refresh.min.period.seconds = 60
sasl.login.refresh.window.factor = 0.8
sasl.login.refresh.window.jitter = 0.05
sasl.mechanism = PLAIN
security.protocol = SASL_SSL
security.providers = null
send.buffer.bytes = 131072
session.timeout.ms = 10000
socket.connection.setup.timeout.max.ms = 30000
socket.connection.setup.timeout.ms = 10000
ssl.cipher.suites = null
ssl.enabled.protocols = [TLSv1.2, TLSv1.3]
ssl.endpoint.identification.algorithm = https
ssl.engine.factory.class = null
ssl.key.password = null
ssl.keymanager.algorithm = SunX509
ssl.keystore.certificate.chain = null
ssl.keystore.key = null
ssl.keystore.location = null
ssl.keystore.password = null
ssl.keystore.type = JKS
ssl.protocol = TLSv1.3
ssl.provider = null
ssl.secure.random.implementation = null
ssl.trustmanager.algorithm = PKIX
ssl.truststore.certificates = null
ssl.truststore.location = null
ssl.truststore.password = null
ssl.truststore.type = JKS
value.deserializer = class org.apache.kafka.common.serialization.StringDeserializer
2022-07-14 17:17:32.038 DEBUG [main] [org.apache.kafka.clients.consumer.KafkaConsumer.(KafkaConsumer.java:696)] - [Consumer clientId=client-01, groupId=app-group-01] Initializing the Kafka consumer
2022-07-14 17:17:32.135 INFO [main] [org.apache.kafka.common.security.authenticator.AbstractLogin.login(AbstractLogin.java:61)] - Successfully logged in.
2022-07-14 17:17:32.141 DEBUG [main] [org.apache.kafka.common.security.ssl.DefaultSslEngineFactory.createSSLContext(DefaultSslEngineFactory.java:264)] - Created SSL context with keystore null, truststore null, provider SunJSSE.
2022-07-14 17:17:32.192 INFO [main] [org.apache.kafka.common.utils.AppInfoParser$AppInfo.(AppInfoParser.java:119)] - Kafka version: 6.2.1-ccs
2022-07-14 17:17:32.192 INFO [main] [org.apache.kafka.common.utils.AppInfoParser$AppInfo.(AppInfoParser.java:120)] - Kafka commitId: fa4bec046a2df3a6
2022-07-14 17:17:32.192 INFO [main] [org.apache.kafka.common.utils.AppInfoParser$AppInfo.(AppInfoParser.java:121)] - Kafka startTimeMs:<PHONE_NUMBER>190
2022-07-14 17:17:32.193 DEBUG [main] [org.apache.kafka.clients.consumer.KafkaConsumer.(KafkaConsumer.java:815)] - [Consumer clientId=client-01, groupId=app-group01] Kafka consumer initialized
2022-07-14 17:17:32.199 INFO [main] [io.confluent.parallelconsumer.internal.AbstractParallelEoSStreamProcessor.(AbstractParallelEoSStreamProcessor.java:231)] - Confluent Parallel Consumer initialise... Options: ParallelConsumerOptions(consumer=org.apache.kafka.clients.consumer.KafkaConsumer@6c42c856, producer=null, managedExecutorService=java:comp/DefaultManagedExecutorService, managedThreadFactory=java:comp/DefaultManagedThreadFactory, ordering=KEY, commitMode=PERIODIC_CONSUMER_ASYNCHRONOUS, maxConcurrency=100, defaultMessageRetryDelay=PT1S, retryDelayProvider=null, sendTimeout=PT10S, offsetCommitTimeout=PT10S, batchSize=1, thresholdForTimeSpendInQueueWarning=PT10S, maxFailureHistory=10)
Below are logs : OFFSET_OUT_OF_RANGE partition, it does reset the offset but does not get any records. However, there are records with the new offset value.
2022-07-14 17:17:39.407 DEBUG [pc-broker-ptest-topic-1oll] [org.apacborker01he.kafka.clients.consumer.internals.Fetcher$1.onSuccess(Fetcher.java:314)] - [Consumer clientId=client-01, groupId=app-group-01] Fetctest-topich READ_UNCOMMITTED at offset 842285 for partition test-topic-1 returned fetch data (error=OFFSET_OUT_OF_RANGE, highWaterMark=-1, lastStableOffset = -1, logStartOffset = -1, preferredReadReplica = absent, abortedTransacticlient-01ons = null, divergingEpoch =Optional.empty, recordsSizeInBytes=0) 2022-07-14 17:17:39.407 INFO [pc-broker-poll] [org.apache.kafka.clients.consumer.internals.Fetcher.handleOffsetOutOfRange(Fetcher.java:1360)] - [Consumer clientId=client-01, groupId=app-group-01] Fetch position FetchPosition{offset=842285, offsetEpoch=Optional.empty, currentLeader=LeaderAndEpoch{leader=Optional[borker01:9092 (id: 21 rack: 0)], epoch=12}} is out of range for partition test-topic-1, resetting offset 2022-07-14 17:17:39.407 DEBUG [pc-broker-poll] [org.apache.kafka.clients.consumer.internals.Fetcher.sendListOffsetRequest(Fetcher.java:983)] - [Consumer clientId=client-01, groupId=app-group-01] Sending ListOffsetRequest ListOffsetsRequestData(replicaId=-1, isolationLevel=0, topics=[ListOffsetsTopic(name='test-topic', partitions=[ListOffsetsPartition(partitionIndex=1, currentLeaderEpoch=12, timestamp=-2, maxNumOffsets=1)])]) to broker borker01:9092 (id: 21 rack: 0) 2022-07-14 17:17:39.407 DEBUG [pc-broker-poll] [org.apache.kafka.clients.NetworkClient.doSend(NetworkClient.java:522)] - [Consumer clientId=client-01, groupId=app-group-01] Sending LIST_OFFSETS request with header RequestHeader(apiKey=LIST_OFFSETS, apiVersion=6, clientId=client-01, correlationId=25) and timeout 30000 to node 21: ListOffsetsRequestData(replicaId=-1, isolationLevel=0, topics=[ListOffsetsTopic(name='test-topic', partitions=[ListOffsetsPartition(partitionIndex=1, currentLeaderEpoch=12, timestamp=-2, maxNumOffsets=1)])]) 2022-07-14 17:17:39.451 DEBUG [pc-broker-poll] [org.apache.kafka.clients.NetworkClient.handleCompletedReceives(NetworkClient.java:880)] - [Consumer clientId=client-01, groupId=app-group-01] Received LIST_OFFSETS response from node 21 for request with header RequestHeader(apiKey=LIST_OFFSETS, apiVersion=6, clientId=client-01, correlationId=25): ListOffsetsResponseData(throttleTimeMs=0, topics=[ListOffsetsTopicResponse(name='test-topic', partitions=[ListOffsetsPartitionResponse(partitionIndex=1, errorCode=0, oldStyleOffsets=[], timestamp=-1, offset=1197212, leaderEpoch=7)])]) 2022-07-14 17:17:39.451 DEBUG [pc-broker-poll] [org.apache.kafka.clients.consumer.internals.Fetcher.handleListOffsetResponse(Fetcher.java:1035)] - [Consumer clientId=client-01, groupId=app-group-01] Handling ListOffsetResponse response for test-topic-1. Fetched offset 1197212, timestamp -1 2022-07-14 17:17:39.451 DEBUG [pc-broker-poll] [org.apache.kafka.clients.Metadata.updateLastSeenEpochIfNewer(Metadata.java:183)] - [Consumer clientId=client-01, groupId=app-group-01] Not replacing existing epoch 12 with new epoch 7 for partition test-topic-1 2022-07-14 17:17:39.451 INFO [pc-broker-poll] [org.apache.kafka.clients.consumer.internals.SubscriptionState.maybeSeekUnvalidated(SubscriptionState.java:398)] - [Consumer clientId=client-01, groupId=app-group-01] Resetting offset for partition test-topic-1 to position FetchPosition{offset=1197212, offsetEpoch=Optional.empty, currentLeader=LeaderAndEpoch{leader=Optional[borker01:9092 (id: 21 rack: 0)], epoch=12}}. 2022-07-14 17:17:39.452 DEBUG [pc-broker-poll] [org.apache.kafka.clients.consumer.internals.Fetcher.prepareFetchRequests(Fetcher.java:1198)] - [Consumer clientId=client-01, groupId=app-group-01] Added READ_UNCOMMITTED fetch request for partition test-topic-1 at position FetchPosition{offset=1197212, offsetEpoch=Optional.empty, currentLeader=LeaderAndEpoch{leader=Optional[borker01:9092 (id: 21 rack: 0)], epoch=12}} to node borker01:9092 (id: 21 rack: 0) 2022-07-14 17:17:39.452 DEBUG [pc-broker-poll] [org.apache.kafka.clients.FetchSessionHandler$Builder.build(FetchSessionHandler.java:259)] - [Consumer clientId=client-01, groupId=app-group-01] Built incremental fetch (sessionId=1279947631, epoch=1) for node 21. Added 0 partition(s), altered 1 partition(s), removed 0 partition(s) out of 1 partition(s) 2022-07-14 17:17:39.452 DEBUG [pc-broker-poll] [org.apache.kafka.clients.consumer.internals.Fetcher.sendFetches(Fetcher.java:265)] - [Consumer clientId=client-01, groupId=app-group-01] Sending READ_UNCOMMITTED IncrementalFetchRequest(toSend=(test-topic-1), toForget=(), implied=()) to broker borker01:9092 (id: 21 rack: 0) 2022-07-14 17:17:39.452 DEBUG [pc-broker-poll] [org.apache.kafka.clients.NetworkClient.doSend(NetworkClient.java:522)] - [Consumer clientId=client-01, groupId=app-group-01] Sending FETCH request with header RequestHeader(apiKey=FETCH, apiVersion=12, clientId=client-01, correlationId=26) and timeout 30000 to node 21: FetchRequestData(clusterId=null, replicaId=-1, maxWaitMs=500, minBytes=1, maxBytes=52428800, isolationLevel=0, sessionId=1279947631, sessionEpoch=1, topics=[FetchTopic(topic='test-topic', partitions=[FetchPartition(partition=1, currentLeaderEpoch=12, fetchOffset=1197212, lastFetchedEpoch=-1, logStartOffset=-1, partitionMaxBytes=1048576)])], forgottenTopicsData=[], rackId='') 2022-07-14 17:17:39.608 DEBUG [pc-broker-poll] [io.confluent.parallelconsumer.internal.ConsumerManager.poll(ConsumerManager.java:55)] - Poll completed normally (after timeout of PT2S) and returned 0... 2022-07-14 17:17:39.608 DEBUG [pc-broker-poll] [io.confluent.parallelconsumer.internal.BrokerPollSystem.pollBrokerForRecords(BrokerPollSystem.java:185)] - Poll completed 2022-07-14 17:17:39.608 DEBUG [pc-broker-poll] [io.confluent.parallelconsumer.internal.BrokerPollSystem.handlePoll(BrokerPollSystem.java:142)] - Got 0 records in poll result 2022-07-14 17:17:39.608 DEBUG [pc-broker-poll] [io.confluent.parallelconsumer.internal.BrokerPollSystem.pollBrokerForRecords(BrokerPollSystem.java:176)] - Subscriptions are paused: false 2022-07-14 17:17:39.608 DEBUG [pc-broker-poll] [io.confluent.parallelconsumer.internal.BrokerPollSystem.pollBrokerForRecords(BrokerPollSystem.java:182)] - Long polling broker with timeout PT2S, might appear to sleep here if subs are paused, or no data available on broker. Run state: running

Are your offsets in your consumer group topic being expired? the default retention for offsets used to be 24 hours. Once the offsets are gone, it should start from the beginning like there was never any offsets committed.
I'm not quite following what you're describing. Are you able to write this as an integration test? You can copy the latest version of tests using TransactionMarkersTest as a template.

Thanks @astubbs for your help! I am working on the integration tests and it might take time to reproduce thru tests. But in the meantime, the offsets in my consumer group for the topic are expired and I expect the same that it will start from earliest available new offset. I can see that log as below but it did not fetch any records. However when I start spring kafka using the same consumer group, I see the same logs as parallel consumer but it does fetch records with new offset returned by kafka.
2022-07-14 17:17:39.407 DEBUG [pc-broker-ptest-topic-1oll] [org.apacborker01he.kafka.clients.consumer.internals.Fetcher$1.onSuccess(Fetcher.java:314)] - [Consumer clientId=client-01, groupId=app-group-01] Fetctest-topich READ_UNCOMMITTED at offset 842285 for partition test-topic-1 returned fetch data (error=OFFSET_OUT_OF_RANGE, highWaterMark=-1, lastStableOffset = -1, logStartOffset = -1, preferredReadReplica = absent, abortedTransacticlient-01ons = null, divergingEpoch =Optional.empty, recordsSizeInBytes=0)
2022-07-14 17:17:39.451 INFO [pc-broker-poll] [org.apache.kafka.clients.consumer.internals.SubscriptionState.maybeSeekUnvalidated(SubscriptionState.java:398)] - [Consumer clientId=client-01, groupId=app-group-01] Resetting offset for partition test-topic-1 to position FetchPosition{offset=1197212, offsetEpoch=Optional.empty, currentLeader=LeaderAndEpoch{leader=Optional[borker01:9092 (id: 21 rack: 0)], epoch=12}}.
2022-07-14 17:17:39.452 DEBUG [pc-broker-poll] [org.apache.kafka.clients.consumer.internals.Fetcher.prepareFetchRequests(Fetcher.java:1198)] - [Consumer clientId=client-01, groupId=app-group-01] Added READ_UNCOMMITTED fetch request for partition test-topic-1 at position FetchPosition{offset=1197212, offsetEpoch=Optional.empty, currentLeader=LeaderAndEpoch{leader=Optional[borker01:9092 (id: 21 rack: 0)], epoch=12}} to node borker01:9092 (id: 21 rack: 0)
2022-07-14 17:17:39.452 DEBUG [pc-broker-poll] [org.apache.kafka.clients.FetchSessionHandler$Builder.build(FetchSessionHandler.java:259)] - [Consumer clientId=client-01, groupId=app-group-01] Built incremental fetch (sessionId=1279947631, epoch=1) for node 21. Added 0 partition(s), altered 1 partition(s), removed 0 partition(s) out of 1 partition(s)
2022-07-14 17:17:39.452 DEBUG [pc-broker-poll] [org.apache.kafka.clients.consumer.internals.Fetcher.sendFetches(Fetcher.java:265)] - [Consumer clientId=client-01, groupId=app-group-01] Sending READ_UNCOMMITTED IncrementalFetchRequest(toSend=(test-topic-1), toForget=(), implied=()) to broker borker01:9092 (id: 21 rack: 0)
2022-07-14 17:17:39.452 DEBUG [pc-broker-poll] [org.apache.kafka.clients.NetworkClient.doSend(NetworkClient.java:522)] - [Consumer clientId=client-01, groupId=app-group-01] Sending FETCH request with header RequestHeader(apiKey=FETCH, apiVersion=12, clientId=client-01, correlationId=26) and timeout 30000 to node 21: FetchRequestData(clusterId=null, replicaId=-1, maxWaitMs=500, minBytes=1, maxBytes=52428800, isolationLevel=0, sessionId=1279947631, sessionEpoch=1, topics=[FetchTopic(topic='test-topic', partitions=[FetchPartition(partition=1, currentLeaderEpoch=12, fetchOffset=1197212, lastFetchedEpoch=-1, logStartOffset=-1, partitionMaxBytes=1048576)])], forgottenTopicsData=[], rackId='')
2022-07-14 17:17:39.608 DEBUG [pc-broker-poll] [io.confluent.parallelconsumer.internal.ConsumerManager.poll(ConsumerManager.java:55)] - Poll completed normally (after timeout of PT2S) and returned 0...
2022-07-14 17:17:39.608 DEBUG [pc-broker-poll] [io.confluent.parallelconsumer.internal.BrokerPollSystem.pollBrokerForRecords(BrokerPollSystem.java:185)] - Poll completed
2022-07-14 17:17:39.608 DEBUG [pc-broker-poll] [io.confluent.parallelconsumer.internal.BrokerPollSystem.handlePoll(BrokerPollSystem.java:142)] - Got 0 records in poll result
2022-07-14 17:17:39.608 DEBUG [pc-broker-poll] [io.confluent.parallelconsumer.internal.BrokerPollSystem.pollBrokerForRecords(BrokerPollSystem.java:176)] - Subscriptions are paused: false
2022-07-14 17:17:39.608 DEBUG [pc-broker-poll] [io.confluent.parallelconsumer.internal.BrokerPollSystem.pollBrokerForRecords(BrokerPollSystem.java:182)] - Long polling broker with timeout PT2S, might appear to sleep here if subs are paused, or no data available on broker. Run state: running

Hi @astubbs thanks for response. Yes, I want at least once processing behavior. If last committed offset is reset and system is down for 24hrs then it will reprocess everything from earliest available event (no deleted from topic) instead of process only latest events. Although this should rarely happen in prod but I still don't want to loose events using offset reset to latest.
When I looked at my logs again, it looks like when there are some processed offsets in local to be committed to broker but due to rebalance after scaling or some other reason it was not committed then next time PC somehow knows that it was processed even though the offset commit was failed and don't reprocess but then on it always commits the last uncommitted offset which is already moved on. I have attached the last commit failure from partitions 0 - 4 and that's the offsets I see on confluent cloud as current offset. (unable to update confluent cloud screen print)
cp-enricher-pc-60-auth5-1.log:ERROR 2022-07-19T16:59:47.204Z [pc-broker-poll][ConsumerCoordinator][][][][] : [Consumer clientId=AAAAA, groupId=BBBBB] Offset commit failed on partition sqs-jcard-riskcontrol-enricher-3 at offset 977994: The coordinator is not aware of this member.
cp-enricher-pc-60-auth5-2.log:ERROR 2022-07-19T16:59:47.141Z [pc-broker-poll][ConsumerCoordinator][][][][] : [Consumer clientId=AAAAA, groupId=BBBBB] Offset commit failed on partition sqs-jcard-riskcontrol-enricher-1 at offset 1269418: The coordinator is not aware of this member.
cp-enricher-pc-60-auth5-2020220720115455104.log.gz:ERROR 2022-07-20T15:43:00.207Z [pc-broker-poll][ConsumerCoordinator][][][][] : [Consumer clientId=AAAAA, groupId=BBBBB]Offset commit failed on partition sqs-jcard-riskcontrol-enricher-2 at offset 1124610: The coordinator is not aware of this member.
cp-enricher-pc-60-auth5-2020220720115455104.log.gz:ERROR 2022-07-20T15:51:58.043Z [pc-broker-poll][ConsumerCoordinator][][][][] : [Consumer clientId=AAAAA, groupId=BBBBB] Offset commit failed on partition sqs-jcard-riskcontrol-enricher-4 at offset 1072807: The coordinator is not aware of this member.
cp-enricher-pc-60-auth5-2120220720120005253.log.gz:ERROR 2022-07-20T15:51:57.968Z [pc-broker-poll][ConsumerCoordinator][][][][] : [Consumer clientId=AAAAA, groupId=BBBBB] Offset commit failed on partition sqs-jcard-riskcontrol-enricher-2 at offset 1124610: The coordinator is not aware of this member.
cp-enricher-pc-60-auth5-2120220720120005253.log.gz:ERROR 2022-07-20T15:51:58.044Z [pc-broker-poll][ConsumerCoordinator][][][][] : [Consumer clientId=AAAAA, groupId=BBBBB] Offset commit failed on partition sqs-jcard-riskcontrol-enricher-2 at offset 1124610: The coordinator is not aware of this member.
cp-enricher-pc-60-auth5-3.log:ERROR 2022-07-19T16:59:47.161Z [pc-broker-poll][ConsumerCoordinator][][][][] : [Consumer clientId=AAAAA, groupId=BBBBB] Offset commit failed on partition sqs-jcard-riskcontrol-enricher-2 at offset 1121707: The coordinator is not aware of this member.
cp-enricher-pc-60-auth5-4.log:ERROR 2022-07-19T16:59:55.376Z [kafka-coordinator-heartbeat-thread | fs-async-events-pc-auth5][ConsumerCoordinator][][][][] : [Consumer clientId=AAAAA, groupId=BBBBB]Offset commit failed on partition sqs-jcard-riskcontrol-enricher-4 at offset 1072807: The coordinator is not aware of this member.
cp-enricher-pc-60-auth5-5.log:ERROR 2022-07-19T16:59:47.061Z [pc-broker-poll][ConsumerCoordinator][][][][] : [Consumer clientId=AAAAA, groupId=BBBBB]Offset commit failed on partition sqs-jcard-riskcontrol-enricher-0 at offset 1205613: The coordinator is not aware of this member.
cp-enricher-pc-60-earlist-0.log:ERROR 2022-07-19T20:03:53.771Z [pc-broker-poll][ConsumerCoordinator][][][][] : [Consumer clientId=AAAAA, groupId=BBBBB] Offset commit failed on partition sqs-jcard-riskcontrol-enricher-1 at offset 1270220: The coordinator is not aware of this member.

Below are some additional logs. Please let me know if you want the committedMetadata hash.
cp-enricher-pc-60-auth5-1.log:ERROR 2022-07-19T16:50:56.605Z [pc-pool-3-thread-1][consumer1][partition=3][offset=977994]: Retriable exception to process message at 977994 .
cp-enricher-pc-60-auth5-1.log:ERROR 2022-07-19T16:59:47.204Z [pc-broker-poll][ConsumerCoordinator][][][][] : [Consumer clientId=AAAAA, groupId=BBBBB] Offset commit failed on partition topic-name-3 at offset 977994: The coordinator is not aware of this member.
ERROR 2022-07-19T16:59:47.209Z [pc-broker-poll][BrokerPollSystem][][][][] : Unknown error
org.apache.kafka.clients.consumer.CommitFailedException: Commit cannot be completed since the group has already rebalanced and assigned the partitions to another member. This means that the time between subsequent calls to poll() was longer than the configured max.poll.interval.ms, which typically implies that the poll loop is spending too much time message processing. You can address this either by increasing max.poll.interval.ms or by reducing the maximum size of batches returned in poll() with max.poll.records.
at org.apache.kafka.clients.consumer.internals.ConsumerCoordinator$OffsetCommitResponseHandler.handle(ConsumerCoordinator.java:1262) ~[kafka-clients-6.2.1-ccs.jar:?]
at org.apache.kafka.clients.consumer.internals.ConsumerCoordinator$OffsetCommitResponseHandler.handle(ConsumerCoordinator.java:1163) ~[kafka-clients-6.2.1-ccs.jar:?]
at org.apache.kafka.clients.consumer.internals.AbstractCoordinator$CoordinatorResponseHandler.onSuccess(AbstractCoordinator.java:1180) ~[kafka-clients-6.2.1-ccs.jar:?]
at org.apache.kafka.clients.consumer.internals.AbstractCoordinator$CoordinatorResponseHandler.onSuccess(AbstractCoordinator.java:1155) ~[kafka-clients-6.2.1-ccs.jar:?]

At least once? Are you saying PC has been skipping records?

Hi @astubbs actually sorry for confusion but I did not mean PC is skipping records. I meant if I use auto.offset.reset as latest instead of earliest. I guess that's not related to PC.
The issue I am seeing is once the PC is unable to commit the offset due to rebalancing or other reason then the current offset does not move. What I mean by does not move is I see that uncommitted offset in confluent cloud consumer dashboard. However that record is not being processed as duplicated.

Hi @astubbs just an update on this. This happens when the last committed offset is out of range. So checking out of range check during start up and reset the offsets before starting PC seems to solve this problem.
        Properties consumerProperties = populateConsumerProperties(pcKafkaProperties);
        consumerProperties.put(MAX_POLL_RECORDS_CONFIG, 1);
        KafkaConsumer kafkaConsumer = new KafkaConsumer<>(consumerProperties);

        AtomicBoolean partitionsAssigned = new AtomicBoolean(false);
        try (kafkaConsumer) {
            kafkaConsumer.subscribe(List.of(pcKafkaProperties.getInputTopics().split(";")), new ConsumerRebalanceListener() {
                @Override
                public void onPartitionsRevoked(Collection<TopicPartition> partitions) {
                    logger.info("Partitions are revoked while resetting offset to earliest during start up {} ",
                            partitions);
                }

                @Override
                public void onPartitionsAssigned(Collection<TopicPartition> partitions) {
                    Map<TopicPartition, Long> earliestOffsets = new HashMap<>();
                    Map<TopicPartition, OffsetAndMetadata> committedOffsets = kafkaConsumer.committed(new HashSet<>(partitions));
                    Map<TopicPartition, OffsetAndMetadata> resetOffsets = new HashMap<>();
                    kafkaConsumer.seekToBeginning(partitions);
                    for (TopicPartition partition: partitions) {
                        long nextOffset = kafkaConsumer.position(partition); // get the beginning offset of the partition
                        logger.info("Partition {} position remote call is made and got nextOffset {} ",
                                partition, nextOffset);
                        earliestOffsets.put(partition, nextOffset);
                        if (committedOffsets == null ||
                                committedOffsets.get(partition) == null ||
                                nextOffset > committedOffsets.get(partition).offset()) {
                            // earliest offset is ahead of last committed offset, it means committed offset needs to be reset
                            resetOffsets.put(partition, new OffsetAndMetadata(nextOffset));
                        }
                    }
                    if (!resetOffsets.isEmpty()) {
                        kafkaConsumer.commitSync(resetOffsets);
                        logger.warn("Offsets are reset to {} . This should not happen in prod, please evaluate" +
                                " apps downtime", resetOffsets);
                    } else {
                        logger.info("All good! No need to reset offsets {} ", resetOffsets);
                    }
                    logger.info("Earliest offsets {} ", earliestOffsets);
                    logger.info("Last committed offsets {} ", committedOffsets);

                    partitionsAssigned.set(true);
                }
            });

            while (!partitionsAssigned.get()) {
                kafkaConsumer.poll(Duration.ofMillis(1000L));
                logger.info("Partitions are not yet assigned during offset reset step");
            }
        } finally {
            kafkaConsumer.close();
        }
    }

I’m afraid this all might be been confused by issue #365 (Received duplicated records when rebalance occurs), which is fixed in release <IP_ADDRESS> (latest is <IP_ADDRESS>).
What is the retention period of the input topic? OFFSET_OUT_OF_RANGE can be for an offset below what’s available too, not only above. OFFSET_OUT_OF_RANGE is a normal error.

The issue I see is that the current offset in confluent cloud > consumer lag

That statement doesn’t compile - consumer lag is the difference between the partition head offset, and the consumers position in the partition. You cannot compare those two things the way you are.

does not move when the parallel consumer instance failed to commit the processed records due to the partition was reassigned

That was the regression bug #365 :/ Sorry about that.

If last committed offset is reset and system is down for 24hrs then it will reprocess everything from earliest available event

Just to check - you know you can increase the offset expired time to whatever you want? It used to default to 24 hours, now it's 7 days, but a lot of people max it infinite and only delete them on request (in production).
And if you want this system, as per normal consumer setup, just set the policy as you have to earliest.

PC somehow knows that it was processed even though the offset commit was failed and don't reprocess

Ah yes, probably because an earlier offset commit’s metadata included the status of the completed records (in other words they were committed earlier in a metadata commit) - see https://github.com/confluentinc/parallel-consumer#offset_map for more information.

I meant if I use auto.offset.reset as latest instead of earliest. I guess that's not related to PC.

Yes, that’s unrelated, as above.

The issue I am seeing is once the PC is unable to commit the offset due to rebalancing or other reason then the current offset does not move. What I mean by does not move is I see that uncommitted offset in confluent cloud consumer dashboard. However that record is not being processed as duplicated.

Yeah its probably the issue as above, but as mentioned above, offsets may have been previously marked as completed in the metadata from older commits.

consumerProperties.put(MAX_POLL_RECORDS_CONFIG, 1);

Why do you set this to one?

code snippit

Do you have this in a repo i can see?
nextOffset > committedOffsets.get(partition).offset()) {
      // earliest offset is ahead of last committed offset, it means committed offset needs to be reset
      resetOffsets.put(partition, new OffsetAndMetadata(nextOffset));

This code seems odd, how is nextOffset the same as earliest? They are not.
Why do you think there would be a problem? Generally - position() returns the next record that would be returned by the broker, it is not the last committed offset.
It is totally expected that #positioncould return an offset higher than#comitted` immediately after assignment - if a partition is reassigned to the same consumer, position() might be higher than committed. Record compaction, record retention periods etc.
If this occurs, it does not need to be manually handled. simple the next commit will be correct.
Have a play with the latest version and let me know if you still see any issues.


Fix incorrect month for Christmas

Was incorrectly 25 when it should be 12, causing the game to crash randomly

Ou crap, that was a big mistake xD
Odd that I didn't get crash


Fix CI

The entire CI is now taking:

~10 minutes when not cached (~18x faster than before)
~5 minutes when cached (~12x faster than before)

Question: Why are we running the deploy CI twice (on: [push, pull_request])?


Class Spatie\OpenTelemetry\Drivers\Multidriver not comply with psr-4 autoloading standard.

When installing spatie/laravel-open-telemetry using composer require on fresh laravel 9, getting the below error:
Class Spatie\OpenTelemetry\Drivers\Multidriver located in ./vendor/spatie/laravel-open-telemetry/src/Drivers/MultiDriver.php does not comply with psr-4 autoloading standard. Skipping.

Laravel version 9.48.0
This package version: 0.0.3
Composer version: 2.5.1

This package is still in development, so errors like this might still occur. Feel free to send a PR if you need this fixed soon.


w_scan: add -fcommon workaround

Workaround build failure on -fno-common toolchains like upstream
gcc-10. Otherwise build fails as:
ld: char-coding.o:/build/w_scan-20170107/si_types.h:117: multiple definition of
  `service_t'; countries.o:/build/w_scan-20170107/si_types.h:117: first defined here

Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 176020 run on x86_64-linux 1

1 package built:

w_scan


feature: option to add left padding

Did you check the docs?

[X] I have read all the zen-mode.nvim docs

Is your feature request related to a problem? Please describe.
no
Describe the solution you'd like
I would like to have an option where I can add left padding to the view which would enable me to move the view to my own needs e.g.  I would like to have my view start at the very center of my screen.
Describe alternatives you've considered
n/a
Additional context
No response

@idelice
If you hack zen-mode like so
diff --git a/lua/zen-mode/view.lua b/lua/zen-mode/view.lua
index 2d170c5..c9c88bb 100644
--- a/lua/zen-mode/view.lua
+++ b/lua/zen-mode/view.lua
@@ -114,9 +114,10 @@ end
 function M.layout(opts)
   local width = M.resolve(vim.o.columns, opts.window.width)
   local height = M.resolve(M.height(), opts.window.height)
+  local shift_amount = opts.window.shift_amount or 0

   return {
-    width = M.round(width),
+    width = M.round(width) - shift_amount,
     height = M.round(height),
     col = M.round((vim.o.columns - width) / 2),
     row = M.round((M.height() - height) / 2),
@@ -125,6 +126,7 @@ end

 -- adjusts col/row if window was resized
 function M.fix_layout(win_resized)
+  local shift_amount = M.opts.window.shift_amount or 0
   if M.is_open() then
     if win_resized then
       local l = M.layout(M.opts)
@@ -140,7 +142,7 @@ function M.fix_layout(win_resized)
     local wcol = type(cfg.col) == "number" and cfg.col or cfg.col[false]
     local wrow = type(cfg.row) == "number" and cfg.row or cfg.row[false]
     if wrow ~= row or wcol ~= col then
-      vim.api.nvim_win_set_config(M.win, { col = col, row = row, relative = "editor" })
+      vim.api.nvim_win_set_config(M.win, { col = col + shift_amount, row = row, relative = "editor" })
     end
   end
 end

then you can add a config shift_amount that does what you're looking for
    {
        'folke/zen-mode.nvim',
        event = "VeryLazy",
        version = "*",
        config = function(_plugin, _opts)
            local old_normal_nc
            local basic_options = {
                window = {
                    shift_amount = 0,   ---- <--- add this
                    backdrop = 0.2,

   --- etc


Not asking for 'Push notification' permission on device, only simulator

I understand that push notifications only work on a device.
When I run the simulator, meteor run ios-device it asks for permission to send push notifications.
When I run it on my iPhone 4, it does not.
Has anyone else experienced this?

If access is granted once iOS remembers and will not ask again.

@raix Appreciate your response.
When the permission is given, should a doc be inserted to the appCollection?
Mine is still empty.

Experiencing the same problem. Got it working on one iPhone 6, as well as a iPhone 5, but tried on a second iPhone 5 and the 3rd one did not get a notification(permission)/inserted.

please help test 2.6.12-rc1 - I've changed the token event to a "state" event that holds the token - this might solve the issue.


Enhance guzzle client adapter

Use createRequest allowing "stopwatch" monitoring for every request.
Add head and options missing methods

:+1:

:+1:


Document GetSteppablePipeline

Need to document GetSteppablePipeline since @KirkMunro made it public back in #8055.
Spoke to @SteveL-MSFT about this, he's okay with .NET SDK reference documentation bugs living here given that they need to be fixed in /// comments here in the code repo.
That being said, we don't think there will be a lot of these.
Related to MicrosoftDocs/PowerShell-Docs#3128

Why do you reference ScriptBlock.GetSteppablePipeline() if PowerShel.(GetSteppablePipeline) was made public?


Move GetCurrentNamespace to resource package

...which is more specific than helpers.

/cc skitt

/approve

/lgtm


Consider expires_in: 0 in access token response as token without expiration

There are providers who return 0 for tokens without expiration.
Example: https://vk.com/dev/permissions
For offline(token never expires) access documentation has comment that expires_in will have value 0.

Thanks for the report. We can make this an option to enable for the client

Sounds good to me.
Just FYI I've submitted pull request with implementation shortly after created issue.
Ivan

On May 12, 2016, at 6:27 AM, Rob Winch<EMAIL_ADDRESS>wrote:
Thanks for the report. We can make this an option to enable for the client
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub

Related to gh-738

Hi @ivan-babiankou. Thanks for your feedback here. I've reviewed your PR, however, it doesn't provide a way to configure the default expires_in (accessTokenValiditySeconds) to 0 for newly generated access tokens. I see you made some updates to OAuth2AccessTokenJackson1Deserializer and OAuth2AccessTokenJackson2Deserializer.
However, if we were to provide a custom value for accessTokenValiditySeconds for new access tokens then this would need to be supplied to an implementation of AuthorizationServerTokenServices. The default implementation is DefaultTokenServices and it may be reused and all you would need to do is call setAccessTokenValiditySeconds(0) and this would generate non-expiring access tokens. For example, extend AuthorizationServerConfigurerAdapter and override the following method:
		@Override
		public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
			DefaultTokenServices tokenServices = new DefaultTokenServices();
			tokenServices.setAccessTokenValiditySeconds(0);
			endpoints.tokenServices(tokenServices);
		}

Additionally, there is another approach where you can configure individual clients with their own custom value for accessTokenValiditySeconds. For example, you can supply the DefaultTokenServices with an implementation of ClientDetailsService which ultimately returns a ClientDetails and has an accessor getAccessTokenValiditySeconds. This approach provides the most flexibility as you can configure a specific client to have non-expiring access tokens and another client to have an expiring access token.
	@Configuration
	@EnableWebSecurity
	@EnableAuthorizationServer
	public class AuthorizationServerTokenServicesConfig extends AuthorizationServerConfigurerAdapter {

		@Override
		public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
			DefaultTokenServices tokenServices = new DefaultTokenServices();
			tokenServices.setClientDetailsService(new ClientDetailsService() {
				@Override
				public ClientDetails loadClientByClientId(String clientId) throws ClientRegistrationException {
					ClientDetails clientDetails = null;
					// Look up the pre-registered client in DB using JdbcClientDetailsService
					// OR
					// Look up the pre-registered client in memory using InMemoryClientDetailsService
					// OR
					// Hard coding but not recommending this approach...just demonstrating
					BaseClientDetails baseClientDetails = new BaseClientDetails();
					baseClientDetails.setAccessTokenValiditySeconds(0);
					// set the other attributes of the client...

					return clientDetails;
				}
			});

			endpoints.tokenServices(tokenServices);
		}

	}

So there are a couple of ways to configure non-expiring access tokens. I hope this helps?
I'm going to close the PR and this issue. I do appreciate you taking the time to put it together.
If you feel there is more discussion here then we can re-open this issue and go from there.
Thanks.

Is this Closed request the same as this Open request?
https://github.com/spring-projects/spring-security-oauth/issues/1172


⚠ mstdn.jp has degraded performance

In 708a718, mstdn.jp (https://mstdn.jp/health) experienced degraded performance:

HTTP code: 0
Response time: 0 ms

Resolved: mstdn.jp performance has improved in 6c8eb42 after 31 minutes.


Incorrect example in builtinsreadDir path in Nix Package Manager Guide (Version 1.9pre4103_1f795f9)

builtins.readDirpath Returnthecontentsofthedirectorypathasasetmappingdirectoryentriestothecorresponding file type. For instance, if directory A contains a regular file B and another directory C, then builtins.readDir ./A will return the set
{ A = "regular"; B = "directory"; }
The possible values for the file type are "regular", "directory", "symlink" and "unknown".
The result should be:
{ B = "regular"; C = "directory"; }

Please submit a pull request


Cannot set headers after they are sent to the client

Cannot set headers after they are sent to the client
How to deal with this error? Thank you！
Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
at ServerResponse.setHeader (_http_outgoing.js:536:11)
at ResponsePayload.setBuffer (/Users/shuliangfu/worker/node/chain/node_modules/express-intercept/lib/_payload.js:73:17)
at ResponsePayload.setString (/Users/shuliangfu/worker/node/chain/node_modules/express-intercept/lib/_payload.js:104:14)
at /Users/shuliangfu/worker/node/chain/node_modules/express-intercept/lib/express-intercept.js:59:21
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at async finish (/Users/shuliangfu/worker/node/chain/node_modules/express-intercept/lib/_handler.js:73:67) {
code: 'ERR_HTTP_HEADERS_SENT'
}
(node:4348) UnhandledPromiseRejectionWarning: Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
at ServerResponse.setHeader (_http_outgoing.js:536:11)
at ServerResponse.header (/Users/shuliangfu/worker/node/chain/node_modules/express/lib/response.js:771:10)
at ServerResponse.header (/Users/shuliangfu/worker/node/chain/node_modules/express/lib/response.js:774:12)
at defaultErrorHandler (/Users/shuliangfu/worker/node/chain/node_modules/express-intercept/lib/express-intercept.js:17:21)
at sendError (/Users/shuliangfu/worker/node/chain/node_modules/express-intercept/lib/_handler.js:78:17)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
(Use node --trace-warnings ... to show where the warning was created)
(node:4348) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:4348) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Cannot set headers after they are sent to the client

Right. It's impossible to rewrite headers if an upstream middleware has started to send some of headers before responseHandler handle it. Some middlewares would kick a signal for Express to start to send response header. Try to change the order to load middlewares.

The problem is resolved, thank you very much


tweak install instructions

Removed links from the install instructions to the installer zip files.
Replaced "2.2.4" with "2.X.X" globally, to avoid the docs going out of date.

sounds like a good idea 👌🏻


{packaging} Add testsdk scenario_tests to pypi pkg

Related command
N/A
Description
Adding tests to the pypi packaging makes it easier for distributions, such as Fedora, to maintain packages for azure-cli-testsdk.
Testing Guide
No changes to testing.

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR title and description has followed the guideline in Submitting Pull Requests.

[x] I adhere to the Command Guidelines.

[x] I adhere to the Error Handling Guidelines.

packaging

This PR is similar to https://github.com/Azure/azure-cli/pull/26522. However, azure-cli-testsdk is excluded during the build process, so not released to PyPI:
https://github.com/Azure/azure-cli/blob/445db0a6c719853f6c1e21d83823b0887b880e0c/scripts/release/pypi/build.sh#L29


Fix kubernetes ci errors

What do these changes do?
As titled.

Fix https://github.com/v6d-io/v6d/pull/1199. /cc @sighingnow


Fix code scanning alert - Security-Policy

Tracking issue for:

[ ] https://github.com/onebeyond/systemic-knex/security/code-scanning/8

This has been solved!


WIP: Some enhancements to the release process to update the CSV

NOTE: This PR is on hold waiting for confirmation about using olm.skipRange in operatorhub.
The changes related to:

Updating the previous CSV (1.17.1) which is used as a template (for certain areas) for the newly generated CSV as part of the automated release procedure

Removed some of the CR examples, as only the first is used - however it still includes all in the generated CSV, so maybe this part should be reverted?
Add olm.skipRange
Changed display name, as now clear what is community operator, and "operator" suffix is not considered necessary
All but AllNamespaces install mode set to false, as requires elevated privileges to install operator in any namespace - so just uses as cluster-wide operator. NOTE: Should this could be considered a breaking change?
Changed maturity to be stable

Release script modifies the generated CSV:

createdAt field is not set to the release date/time
The upper range on the olm.skipRange field is set to the new release version
If the CSV is still generated with the replaces field, it will be removed

Are there any updates for this one?

Will take a look soon.


Persist attributes changed by callbacks or the save process

If there are before_save callbacks in a model that uses Elasticsearch::Indexing, and those before_save callbacks change attributes of the model, the resulting values might not be saved into Elasticsearch, because update_document will only pick up attributes that were changed by the time its own before_save callback ran.  Similarly, if the model indexes updated_at, it will never be saved into Elasticsearch because that value is updated as part of the save process itself.
This PR changes the behavior of Elasticsearch::Indexing to set the @__changed_attributes hash in an after_save callback, using the previous_changes method.  This will contain any attributes changed by other callbacks or the save process itself.
(Also, I'm working on having my company sign the CLA and will let you know when that's done.)

PatientsLikeMe has now signed the CLA and I've also signed an individual one under PatientsLikeMe.

@karmi - ping?  Sorry to bug you.


Add Gembok to Awesome Indonesia?

I'm currently working on a repository that lists products made by Indonesian developers, if you think this is one of those products you can submit a pull request here :point_down:
https://github.com/fransallen/awesome.id

Sure will do.

Awesome!


[CP]

issue_link
https://github.com/flutter/flutter/issues/123052
Commit Hash
95387c6
Target
beta
pr_link
https://github.com/flutter/flutter/pull/123044
Impacted Users
users who contribute to the current beta branch
Impact Description
This is first discovered in https://github.com/flutter/flutter/pull/122645/checks?check_run_id=12008937385 by @godofredoc , that several tests are consistently failing on pull requests opened against the beta branch.
Workaround
there is no workaround if we want to contribute to the current beta branch
Risk
low
Test Coverage
yes
Validation Steps
we can validate by examining the presubmit runs of future pull requests against the current beta, and check if they are all green

Approved!

Closing after merge.


captured uuid

The changes are able to capture the appropriate uuid of the question and fixes the "list out of range" error.

this is not working

@AdithyahNair  Thanks for solving the issue of "list index out of range"
Can you please fix the current issue, if possible?
It's not captured the full image link, so that the image not visible in the html file.
This the actual image tag that is okay & it's showing the image.
<img alt="1" src="https://media1.cheggcdn.com/coop/a83/a83021a1-c8a7-43cd-beda-f3f2c3813ef0/1658719416099_image.png?u=7fa8a270-1ba6-422e-ac4f-daa153fd49bf&q=b5ea5092-3f0b-45ad-ab09-024e2c76c6a4&context=gdg-qna-dgs&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9tZWRpYTEuY2hlZ2djZG4uY29tL2Nvb3AvYTgzL2E4MzAyMWExLWM4YTctNDNjZC1iZWRhLWYzZjJjMzgxM2VmMC8xNjU4NzE5NDE2MDk5X2ltYWdlLnBuZz91PTdmYThhMjcwLTFiYTYtNDIyZS1hYzRmLWRhYTE1M2ZkNDliZiZxPWI1ZWE1MDkyLTNmMGItNDVhZC1hYjA5LTAyNGUyYzc2YzZhNCZjb250ZXh0PWdkZy1xbmEtZGdzIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNjk0MzcwMDE4fSwiRGF0ZUdyZWF0ZXJUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE2OTQzNjc5MTh9fX1dfQ__&Key-Pair-Id=K1M1OMQ09SPKJC&Signature=LoySw6tj0g5Wazq~DsAgtcmYvcPj0H8Ios-HHEHri8nN5Dm4cN0VWww7P6PkNWnCYahk81Oa4GJpj2tLpwSvLSH3Ql3M7AMzgJaw~G4sV5itwE13cfUjw5BPFlT05GfVxpC9Mqo2FTlxBgu4AkfP7vS2hg8HUWET8KMNRWROycE3h99a7-tTXnKbWNLBmQUyh4jIHh9XRDAQTQml19qJttLgxBC7LRmnjAqofwQplz643APpRb5R3MXPTF~BcjDC923Nv~k9RtrZNTNAgTVmwcfai3VW5U5~-9hx97z6g2lCOkxIJ1K8TL2eGYUyLRXHGjYWa8DO5Uk~USO5n8iWCw__">
it shows the image but in the current scenario it only captures link like this.(without the parameter of "u").

I'm requesting you, if possible, then please solve the issue.

@alamin-im11 Your welcome. I will look into the image capturing issue within the code. Please give me sometime to respond.

@AdithyahNair , can you fix the image capturing issue

Hello


Error while showing specific aggregators

Hi Nicolas,
As you provided solution to Issue  #81 , I have tried to show the specific aggregators, but it is working only for "Count" and "List Unique Values" aggregators, but not working for others.
Here is  js code:
aggregators: {
"Count":      function() { return tpl.count()() },
"Count Unique Values":      function() { return tpl.countUnique()() },
"List Unique Values":      function() { return tpl.listUnique()(", ") },
"Sum":      function() { return tpl.sum()() },
"Average": function() { return tpl.average()()}
},
Getting the below error:
Uncaught TypeError: Cannot read property '0' of undefined
at pivot.min.js:1
at Object.Count Unique Values (eval at globalEval (jquery-2.0.2.min.js:4), :147:90)
at pivot.min.js:1
Thanks & Regards
Ram

Hi I would like the answer to this too. I guess it's because you're not passing a value into something like the countUnique - i.e. count unique of what?


add branching

Need to write logic that allows me to specify a specific branch based on a third entry in the CSV and from the argparse cli
Main branch example in csv
Azure-Samples,cosmos-db-design-patterns
Alternate branch feature idea
Azure-Samples,cosmos-db-design-patterns,development

traffic to all individual branches is tracked as one congregate


AttributeError: 'Namespace' object has no attribute 'savepath'

After creating a python environment to use it in:
mamba create -y -n cpeaks anndata scanpy numpy tqdm joblib
conda activate cpeaks

I'm unable to run on a sample dataset of ours due to the following error. Do you have any advice?
python main.py --fragment_path ~/group/work/data/sample/data/new/atac_sample/outs/atac_fragments.tsv.gz --barcode_path ~/group/work/data/sample/data/new/atac_sample/barcodes.csv --output ~/group/work/data/sample/data/new/sample/cpeaks/ --num_cores 32
Traceback (most recent call last):
  File "/fast/work/group/bin/cPeaks/main.py", line 223, in <module>
    savepath = args.savepath
AttributeError: 'Namespace' object has no attribute 'savepath'

Problem fixed now. Besides, a faster and better tool will be updated in a week, thank you for the advice.

thanks, I appreciate it! Now there error I'm getting is that no matrix is written...
python main.py -f sample/fragments.tsv.gz -b sample/barcodes.tsv -o sample/cpeaks/ -n 32

num of barcode is 11069
start to get bed in each barcode
45683664it [02:10, 349311.11it/s]
num peak of random bar 0
num peak of random bar 0
num peak of random bar 0
mapping to cPeaks...
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 11069/11069 [03:18<00:00, 55.79it/s]
start to write mtx file
done
use time:<PHONE_NUMBER>426636

ls cpeaks/
du -sh cpeaks/
512

The barcode files should be like this for example:
TTGTCTATCACGATTG-1
AGCCCGACACAATAAG-1
CGGACCACATCGCTAA-1
……
Thank you for using the tool, I am not sure about the barcodes.tsv you used, could you please provide more information about that?

head sample/barcodes.tsv
AAACGAAAGACTTGAA-1
AAACGAAAGAGGCGGA-1
AAACGAAAGAGTGGAA-1
AAACGAAAGATCACCT-1
AAACGAAAGTGATATG-1

it's simply the output from cellranger atac, by the way!

Thank you so much for the bug you pointed out, I fixed it, please download the code and try again. Thank you so much!


Feat/add snapshot based testing for helm

Description
Fixes #1377

Add a set of helper functions, like the UnmarshalK8SYaml functions.

UpdateSnapshot creates/refreshes a local snapshot
DiffAgainstSnapshot diffs the manifest generated by the test against the local snapshot. It returns the number of differences that can be asserted in a test. It also displays the difference between the two sets of k8s manifests in git style.

See test output in this gist https://gist.github.com/jguionnet/376e768009a244d3315f31b82598aa78
TODOs
Read the Gruntwork contribution guidelines.

[ x] Update the docs. (ie provided sample tests as documentation)
[ x] Run the relevant tests successfully, including pre-commit checks.
[ x ] Ensure any 3rd party code adheres with our license policy or delete this line if its not applicable.
[ x ] Include release notes. If this PR is backward incompatible, include a migration guide.

Release Notes (draft)

Added / Removed / Updated [X].
Added support in Helm for snapshot testing, similar to helm-unittest feature snapshot testing.
Migration Guide
NA

This branch has conflicts that must be resolved
Use the [web editor](https://github.com/gruntwork-io/terratest/pull/1378/conflicts) or the  to resolve conflicts.
Conflicting files
go.mod

@denis256: I resolved the conflict, could you please review it?

@denis256. Thanks for reviewing. I fixed it according to the feedback.

@denis256. Thank you for your thorough review and for catching all my mistakes. I fixed it according to your latest feedback.


Node Mapnik 3.6.0

Updating test results and package version for mapnik 3.6.0.

Coverage remained the same at 94.071% when pulling 56bf45290964b70f1affd60f1970cc43bce5207a on mapnik-3.6.0 into 5721a5242759abf111293a449411cf46208a3f67 on master.

Coverage remained the same at 94.071% when pulling b18a27a99db84a764093855f46629ef35ed48925 on mapnik-3.6.0 into 5721a5242759abf111293a449411cf46208a3f67 on master.

Coverage remained the same at 94.071% when pulling 8e53fd00fd07a462069a798482109da0dcb7da5b on mapnik-3.6.0 into 5721a5242759abf111293a449411cf46208a3f67 on master.

Coverage remained the same at 94.071% when pulling 752ebd9e0a082b019f622520dadab40ff3de8093 on mapnik-3.6.0 into 5721a5242759abf111293a449411cf46208a3f67 on master.

@flippmoke I fixed the windows build issue and merged the fix into this branch - everything looks green now. Going to re-start mapnik-swoop and ensure it passes: https://travis-ci.org/mapbox/mapnik-swoop/builds/219751098

Coverage remained the same at 94.071% when pulling 18ff3074be7f5054445a8a9a9d3a9f7500c31d8c on mapnik-3.6.0 into 5721a5242759abf111293a449411cf46208a3f67 on master.

Coverage remained the same at 94.071% when pulling a17b378e99190765e82ab64a750b3d594175dfed on mapnik-3.6.0 into 5721a5242759abf111293a449411cf46208a3f67 on master.

and... windows builds broken again after updating to @mapbox package.


New releases

These patch releases just update the dependencies and resolve the outstanding issues due to yanked dependencies. Some minor changes were merged previously, see CHANGELOG.md for more information.
Closes #671

Will update CHANGELOG.md later, brain is toast for today. Always forget to do that 😅


Fix for newer versions of nim

Nim removed the ability to implicitly cast char array to cstring, this is my attempt to fix it. Everything I tested worked fine after this.

thank you!


Include versioning information in tutorials

Include some kind of versioning into the tutorials. Right now they are not targeting any particular keptn version.

fixed with #13


Variable character width extended ASCII vs non-extended ASCII

Dear Peter,
I am experiencing considerable variation in character width when creating fonts with 255 versus 128 ASCII characters. See the example below. Is there a way to overcome this?
Also, which ASCII extension code page are you using? This is not documented. Does it depend on my PC settings?
$ ./font_to_py.py -x segoeui.ttf 12 segoeui12.py
Writing Python font file.
Height set in 2 passes. Actual height 11 pixels.
Max character width 11 pixels.
segoeui12.py written successfully.

$ ./font_to_py.py -x -l 255 segoeui.ttf 12 segoeui12x.py
Writing Python font file.
Height set in 2 passes. Actual height 12 pixels.
Max character width 9 pixels.
segoeui12x.py written successfully.

It does not seem quite logical to me that when more glyphs are present, the slimmer the font gets.

I have been digging a little deeper…
It seems that only OTF fonts allow their extended ASCII glyphs to be converted successfully.
Conversely, TTF fonts are not showing extended ASCII glyphs properly even though -l 255 was specified with the command. The ? character is shown instead.

Thank you for that information. This may be a limitation of the freetype library. I'll update the code and docs. I guess the best thing is to output a warning (in the hope that freetype is subsequently fixed).


model: add a function GetTypeDesc for ColumnInfo

What problem does this PR solve?

add a function GetTypeDesc for ColumnInfo
remove the function for Column https://github.com/pingcap/tidb/pull/13907/files#diff-1277eab0474a970f37a4ef86f3a339a4L236-L245

What is changed and how it works?
N/A
Check List
Tests

No code

Code changes

Has exported function/method change
Has exported variable/fields change

Side effects
N/A
Related changes
N/A

(flush CLA status)


Intellisense Hover Popup Distorted [Linux/Gnome]

I had to do the below (resize window) just to make sure it wasn't a glitch with the text coming through:

Here's the initial way I saw it (app window 1/2 screen):

(✓) 13:39:09 [~/code/gb/api::master]
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Pop!_OS 18.04 LTS"
(✓) 13:39:16 [~/code/gb/api::master]
$ echo $XDG_SESSION_TYPE
wayland
(✓) 13:40:00 [~/code/gb/api::master]
$ uname -a
Linux p5520 5.3.0-7625-generic #27~1576774585~18.04~c7868f8-Ubuntu SMP Thu Dec 19 20:37:47 UTC  x86_64 x86_64 x86_64 GNU/Linux

Thanks!


[Need Feedback] Anyone elses Container Freezing ?

Ever since i run the Alpine fork my container seems to freeze when bulk downloading a bunch of new manga.
And honestly idk if my old "server" laptop is just kicking the bucket or if wine on this alpine image is just unstable.

I will change back to debian, since it seems to be a thing with alpine image


New materials don't show up

I'm having problems adding new materials. I added a new folder called "molecules" on the materials folder, then created a new html called molecules.html on the views folder, etc.
The new materials shows up in the navigation menu, but when I click on them I get this error "Cannot get /molecules.html" though the file is in there.
I checked the dist folder, and the new files are not being build
I get this error on the console:
[10:56:57] Using gulpfile ~/Sites/styleguide-fb/gulpfile.js
[10:56:57] Starting 'clean'...
[10:56:57] Finished 'clean' after 12 ms
[10:56:57] Starting 'default'...
[10:56:57] Starting 'styles:fabricator'...
[10:56:57] Finished 'styles:fabricator' after 11 ms
[10:56:57] Starting 'styles:toolkit'...
[10:56:57] Finished 'styles:toolkit' after 1.92 ms
[10:56:57] Starting 'styles'...
[10:56:57] Finished 'styles' after 17 μs
[10:56:57] Starting 'scripts'...
[10:56:57] Starting 'favicon'...
[10:56:57] Starting 'assemble'...
Error (fabricator-assemble): The partial text-input could not be found
Error: The partial text-input could not be found
at Object.invokePartial (/Users/tannia/Sites/styleguide-fb/node_modules/handlebars/dist/cjs/handlebars/runtime.js:216:11)
at Object.invokePartialWrapper [as invokePartial] (/Users/tannia/Sites/styleguide-fb/node_modules/handlebars/dist/cjs/handlebars/runtime.js:61:39)
at Object.eval (eval at createFunctionContext (/Users/tannia/Sites/styleguide-fb/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js:221:23), :6:23)
at ret (/Users/tannia/Sites/styleguide-fb/node_modules/handlebars/dist/cjs/handlebars/runtime.js:159:30)
at ret (/Users/tannia/Sites/styleguide-fb/node_modules/handlebars/dist/cjs/handlebars/compiler/compiler.js:488:21)
at Object. (/Users/tannia/Sites/styleguide-fb/node_modules/fabricator-assemble/index.js:566:23)
at Object.eval (eval at createFunctionContext (/Users/tannia/Sites/styleguide-fb/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js:221:23), :7:78)
at ret (/Users/tannia/Sites/styleguide-fb/node_modules/handlebars/dist/cjs/handlebars/runtime.js:159:30)
at ret (/Users/tannia/Sites/styleguide-fb/node_modules/handlebars/dist/cjs/handlebars/compiler/compiler.js:488:21)
at Object.invokePartial (/Users/tannia/Sites/styleguide-fb/node_modules/handlebars/dist/cjs/handlebars/runtime.js:218:12)
[10:56:58] Finished 'assemble' after 184 ms
[10:56:58] Finished 'default' after 213 ms
[10:56:58] Finished 'favicon' after 358 ms
[10:56:58] Starting 'images'...
[10:56:58] gulp-imagemin: Minified 0 images
[10:56:58] Finished 'images' after 4.32 ms
[10:56:58] Finished 'scripts' after 854 ms
[10:56:58] Starting 'serve'...
[10:56:58] Finished 'serve' after 65 ms
[FABRICATOR] Access URLs:
   Local: http://localhost:3000
External: http://<IP_ADDRESS>:3000

      UI: http://localhost:3001

UI External: http://<IP_ADDRESS>:3001
[FABRICATOR] Serving files from: dist
I'm not sure what to do to fix this. Please help.

Looks like the error Error (fabricator-assemble): The partial text-input could not be found is what might be the issue.
The {{> text-input}} partial include is used on the materials/structures/form.html example out of the box. If you delete the text-input.html file in structures, then you'll need to remove this reference.


invoking PowerOff call resulting in traceback in on-taskgraph

from maithri (@MaithriAjjampura) in the Slack channel:
Invoked the calls to create a node and then run the PowerOff workflow against that node. That failed, with the following traceback in the on-taskgraph logs:
TypeError: Cannot call method 'powerStatus' of null
    at /home/vagrant/src/on-tasks/lib/services/obm-service.js:153:44
    at tryCatcher (/home/vagrant/src/on-core/node_modules/bluebird/js/main/util.js:26:23)
    at Promise._settlePromiseFromHandler (/home/vagrant/src/on-core/node_modules/bluebird/js/main/promise.js:507:31
    at Promise._settlePromiseAt (/home/vagrant/src/on-core/node_modules/bluebird/js/main/promise.js:581:18)
    at Promise._settlePromises (/home/vagrant/src/on-core/node_modules/bluebird/js/main/promise.js:697:14)
    at Async._drainQueue (/home/vagrant/src/on-core/node_modules/bluebird/js/main/async.js:123:16)
    at Async._drainQueues (/home/vagrant/src/on-core/node_modules/bluebird/js/main/async.js:133:10)
    at Async.drainQueues (/home/vagrant/src/on-core/node_modules/bluebird/js/main/async.js:15:14
    at process._tickDomainCallback (node.js:459:13)

The node in question, when returned from /api/1.1/nodes/[nodeid]:
{
   "autoDiscover": false,
   "catalogs": [],
   "createdAt": "2016-02-17T22:48:03.017Z",
   "id": "56c4f8a32b765c4848208dff",
   "identifiers": [
       "ec:f4:bb:d9:b1:00",
       "ec:f4:bb:d9:b1:02",
       "ec:f4:bb:d9:b1:04",
       "ec:f4:bb:d9:b1:05"
   ],
   "name": "ec:f4:bb:d9:b1:00,ec:f4:bb:d9:b1:02,ec:f4:bb:d9:b1:04,ec:f4:bb:d9:b1:05",
   "obmSettings": [
       {
           "config": {
               "host": "<IP_ADDRESS>",
               "pass": "test",
               "user": "root"
           },
           "service": "ipmi-obm-service"
       }
   ],
   "relations": [
       {
           "relationType": "enclosedBy",
           "targets": [
               "56c5de2003dd5b4248dba5f7"
           ]
       }
   ],
   "sku": null,
   "type": "compute",
   "updatedAt": "2016-03-15T15:35:58.812Z",
   "workflows": []
}

@MaithriAjjampura  I have a quick validation that if "password" is set to 'pass', there will be 'powerStatus' of 'null' error in log. so just correct 'pass' to 'password' in obmSettings and go ahead for your works.
But anyway, it should be a issue that the log shouldn't  report 'powerStatus of null' which is related with 'password' key. it's a problem need to be fixed

@anhou , I changed it to password in obmsettings and the node returns this
{
"autoDiscover": false,
"catalogs": [],
"createdAt": "2016-02-17T22:48:03.017Z",
"id": "56c4f8a32b765c4848208dff",
"identifiers": [
"ec:f4:bb:d9:b1:00",
"ec:f4:bb:d9:b1:02",
"ec:f4:bb:d9:b1:04",
"ec:f4:bb:d9:b1:05"
],
"name": "ec:f4:bb:d9:b1:00,ec:f4:bb:d9:b1:02,ec:f4:bb:d9:b1:04,ec:f4:bb:d9:b1:05",
"obmSettings": [
{
"config": {
"host": "<IP_ADDRESS>",
"password": "REDACTED",
"user": "root"
},
"service": "ipmi-obm-service"
}
],
"relations": [
{
"relationType": "enclosedBy",
"targets": [
"56c5de2003dd5b4248dba5f7"
]
}
],
"sku": null,
"type": "compute",
"updatedAt": "2016-03-21T15:03:07.565Z",
"workflows": []
}
I executed the workflow, and this is the response I am getting back when I tried this:
http://<IP_ADDRESS>:8080/api/1.1/nodes/56c4f8a32b765c4848208dff/workflows | python -mjson.tool
{
"_status": "failed",
"context": {
"graphId": "474b29d9-9d19-4900-bd35-d5950bfd293b",
"target": "56c4f8a32b765c4848208dff"
},
"createdAt": "2016-03-18T18:15:35.292Z",
"definition": {
"friendlyName": "PowerOff Node",
"injectableName": "Graph.PowerOff.Node",
"options": {},
"tasks": [
{
"label": "poweroff",
"taskName": "Task.Obm.Node.PowerOff"
}
]
},
"domain": "default",
"id": "56ec45c7df1b451b412c800e",
"injectableName": "Graph.PowerOff.Node",
"instanceId": "474b29d9-9d19-4900-bd35-d5950bfd293b",
"logContext": {
"graphInstance": "474b29d9-9d19-4900-bd35-d5950bfd293b",
"graphName": "PowerOff Node",
"id": "56c4f8a32b765c4848208dff"
},
"name": "PowerOff Node",
"node": "56c4f8a32b765c4848208dff",
"serviceGraph": null,
"tasks": {
"2df33214-5c41-4765-a29b-047dcbb427a0": {
"error": "TypeError: Cannot call method 'powerStatus' of null\n    at /home/vagrant/src/on-tasks/lib/services/obm-service.js:153:44\n    at tryCatcher (/home/vagrant/src/on-core/node_modules/bluebird/js/main/util.js:26:23)\n    at Promise._settlePromiseFromHandler (/home/vagrant/src/on-core/node_modules/bluebird/js/main/promise.js:507:31)\n    at Promise._settlePromiseAt (/home/vagrant/src/on-core/node_modules/bluebird/js/main/promise.js:581:18)\n    at Promise._settlePromises (/home/vagrant/src/on-core/node_modules/bluebird/js/main/promise.js:697:14)\n    at Async._drainQueue (/home/vagrant/src/on-core/node_modules/bluebird/js/main/async.js:123:16)\n    at Async._drainQueues (/home/vagrant/src/on-core/node_modules/bluebird/js/main/async.js:133:10)\n    at Async.drainQueues (/home/vagrant/src/on-core/node_modules/bluebird/js/main/async.js:15:14)\n    at process._tickDomainCallback (node.js:459:13)",
"friendlyName": "Power Off Node",
"ignoreFailure": false,
"implementsTask": "Task.Base.Obm.Node",
"injectableName": "Task.Obm.Node.PowerOff",
"instanceId": "2df33214-5c41-4765-a29b-047dcbb427a0",
"name": "Task.Obm.Node.PowerOff",
"options": {
"action": "powerOff",
"obmServiceName": "ipmi-obm-service"
},
"properties": {
"power": {}
},
"runJob": "Job.Obm.Node",
"state": "failed",
"terminalOnStates": [
"succeeded",
"timeout",
"cancelled",
"failed"
],
"waitingOn": {}
}
},
"updatedAt": "2016-03-18T18:15:35.359Z"
}
This is on Dell server R630

@MaithriAjjampura:  /api/1.1/nodes/<identifier>/workflows will return all history workflows that have been run for the target node, not only the last workflow. I see you updated  the obm setting in 2016-03-21T15:03:07.565Z, but this workflow result was logged at 2016-03-18T18:15:35.359Z, they don't match.

This should be the root case of the called on null object: https://github.com/RackHD/on-tasks/blob/master/lib/services/base-obm-service.js#L148, the function validateAndSanitize will fail to validate the requiredKeys becase password is in the required for ipmi-obm-service (https://github.com/RackHD/on-tasks/blob/master/lib%2Fservices%2Fipmi-obm-service.js#L16) , so creating obm service return a null object not to throw error.
So there should be a minor fix on this

Thank you @yyscamper and @anhou . so when I changed the obm settings, I just ran workflow and it did not take affect. But when I  posted the task again to workflow curl -X POST <IP_ADDRESS>:8080/api/1.1/nodes//workflows?name=Graph.PowerOff.Node, I could successfully power off the compute node. now the workflow for the node contains power off node details twice.

@MaithriAjjampura : is their any response code that returned from API after your first time to run workflow?

@MaithriAjjampura are you still seeing this issue?
@yyscamper did we put in a fix to make understanding the underlying cause for this issue easier?


in docs, point to the new sky getting started guide

updated url: https://flutter.github.io/getting-started/

done


Update CONTRIBUTING.md with more details for package setup

Description of changes:
Provides additional information in CONTRIBUTING.md with how to set up the resource provider package in your IDE.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Looks good overall. Just one comment to address.


Could not load dynamic library amazon ec2

System information

OS Platform and Distribution (aws Linux 2):

TensorFlow installed from (source or binary): via pip

TensorFlow version: 2.4.0

Python version: 3.7

Installed using virtualenv? pip? conda?: virtual env, pip

Bazel version (if compiling from source):

GCC/Compiler version (if compiling from source):

CUDA/cuDNN version: 11.0

GPU model and memory: Tesla t4 (g4dn.xlarge)

Describe the problem
I installed GPU drivers on fresh EC2 instance using commands mentioned here
But it is not picking gpu.
2021-04-16 13:19:22.605167: I tensorflow/compiler/jit/xla_cpu_device.cc:41] Not  creating XLA devices, tf_xla_enable_xla_devices not set
2021-04-16 13:19:22.622026: I tensorflow/stream_executor/platform/default/dso_lo  ader.cc:49] Successfully opened dynamic library libcuda.so.1
2021-04-16 13:19:23.590887: I tensorflow/stream_executor/cuda/cuda_gpu_executor.   cc:941] successful NUMA node read from SysFS had negative value (-1), but there                         must be at least one NUMA node, so returning NUMA node zero
2021-04-16 13:19:23.591452: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1720] Found device 0 with properties:
pciBusID: 0000:00:1e.0 name: Tesla T4 computeCapability: 7.5
coreClock: 1.59GHz coreCount: 40 deviceMemorySize: 14.75GiB deviceMemoryBandwidth: 298.08GiB/s
2021-04-16 13:19:23.591551: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory
2021-04-16 13:19:23.591612: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could not load dynamic library 'libcublas.so.11'; dlerror: libcublas.so.11: cannot open shared object file: No such file or directory
2021-04-16 13:19:23.591657: W tensorflow/stream_executor/platform/default/dso_lo                        ader.cc:60] Could not load dynamic library 'libcublasLt.so.11'; dlerror: libcublasLt.so.11: cannot open shared object file: No such file or directory
2021-04-16 13:19:23.591698: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could not load dynamic library 'libcufft.so.10'; dlerror: libcufft.so.10: cannot open shared object file: No such file or directory
2021-04-16 13:19:23.591745: W tensorflow/stream_executor/platform/default/dso_lo                        ader.cc:60] Could not load dynamic library 'libcurand.so.10'; dlerror: libcurand.so.10: cannot open shared object file: No such file or directory
2021-04-16 13:19:23.591798: W tensorflow/stream_executor/platform/default/dso_lo                        ader.cc:60] Could not load dynamic library 'libcusolver.so.10'; dlerror: libcusolver.so.10: cannot open shared object file: No such file or directory
2021-04-16 13:19:23.591838: W tensorflow/stream_executor/platform/default/dso_lo                        ader.cc:60] Could not load dynamic library 'libcusparse.so.11'; dlerror: libcusparse.so.11: cannot open shared object file: No such file or directory
2021-04-16 13:19:23.591883: W tensorflow/stream_executor/platform/default/dso_lo                        ader.cc:60] Could not load dynamic library 'libcudnn.so.8'; dlerror: libcudnn.s.8: cannot open shared object file: No such file or directory
2021-04-16 13:19:23.591894: W tensorflow/core/common_runtime/gpu/gpu_device.cc:1                        757] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the                         required libraries for your platform.

@talhaanwarch
Could you please refer to this link and follow it

the os is amazon linux 2, instead of ubunto

@talhaanwarch
please follow the link shared, it works for all linux versions.


[8.x] Add support for Http request defaults

This PR adds support for Http request defaults.
Context
I'd like to add middleware to all Http requests, but don't want to scatter this across my entire codebase. Example middleware I'd like to add is a debugbar middleware on local environments or a Bugsnag breadcrumb middleware on production environments.
Solution
I've added a defaults method to the request factory. This allows you to define callbacks that can set defaults on pending requests. This way you can easily add middleware, or set other options such as retry, on all requests.
// In a service provider
Http::defaults(function (PendingRequest $request) {
    $request->middleware(new Middleware());
    $request->withHeaders(['X-Test-Header' => 'foo']);
    $request->retry(3, 100, fn ($exception) => $exception instanceof ConnectionException);
    // etc.
});

// Somewhere else
Http::get('http://example.com');

Now everytime you perform an Http request, these defaults are set.
Alternatives
You could use a macro for this, but if you have multiple macros, you still have to add these defaults to all macros as you can't chain macros. Unless you add all other macros to the pending request itself, but I don't think that's an ideal solution.
Breaking changes
This is only additive, but - as with all macroable classes - if someone has defined a 'defaults' macro, it would be a breaking change for them.

While this pull request seems interesting, vendor code may assume that the Laravel's HTTP client is stateless — this can be dangerous, when performing HTTP requests on APIs with sensitive information.

Going off @nunomaduro's comment -- wouldn't this impact everywhere else in the application that may be using the Http client depending on where/when this is called? Setting defaults globally on the Http client definitely seems problematic.

I'd like to add middleware to all Http requests, but don't want to scatter this across my entire codebase.

I'd personally create a class to generate a pending request with all these defaults:
class Api
{
    public static function client()
    {
        return Http:withMiddleware()
            ->withHeaders(['X-Test-Header' => 'foo'])
            ->retry(3, 100, fn ($exception) => $exception instanceof ConnectionException);
    }
}

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.

Thanks for the feedback @nunomaduro and @stevebauman, I understand your concerns!


Should we stop supporting ROOT 5?

With the latest release of ROOT 5 (v.5.34.36) being over a year old I was wondering whether we want to continue to support it? Are there a lot of people who still use ROOT 5 and have no option of changing to ROOT 6?
One of the main issues for me is the lacking support of c++11 in ROOT 5 and the need to have duplicate code in some situations (like the symmetric matrices).

We absolutely should drop ROOT 5 support. We are not a huge community and maintaining support for old libraries is just extra complication. Even if people have some reason they still need ROOT 5, they can easily run two versions. Besides next year ROOT 7 might be out ...

Which version of ROOT 6 is installed at TRIUMF (just of out curiosity)?

root_v6.08.02 is installed on all the Centos 7 machines.

Yes we should stop supporting it unless someone has a really good excuse to stay on root 5.

Okay, up to now our code does support ROOT 5, so I think we should at some point in the near future make a new release and make that one the most recent version to use with ROOT 5 and from thereon stop supporting ROOT 5. Is there any soon to be completed functionality of GRSISort that should be included in that release?

FYI on grsmid01 only root 5 is installed and w/o c++11 support. So if we wan't to use that machine to sort data, we need to install root 6 on it, or stop updating at some point when we stop supporting root 5.

bump for installing ROOT6 on grsmid01

grsmid01 remains at SL6.9 machine. @jsmallcombe and I have been somewhat reluctant to upgrade it until now because of its pretty-much constant use. If we do upgrade it to CentOS7, we will need to kick all users off for ~6-8 hours while we upgrade and reinstall various software.
There is also, of course, a non-zero chance of the update causing some problems right before the experiment.

Maybe we should take this opportunity to purchase grsmid02 with higher performance and more disk space. Then once we have that operational upgrade grsmid01. Then we will also have two sorting machines for the ever increasing amount of experimental sorting we are doing.

A little more info. We may have a separate issue. Compiling GRSISort as S1625 on a machine with an existing ROOT6 installation yields some compile errors. @SmithJK also saw this. Below is an excerpt from a compile attempt on dimorphodon.
Compiling bin/converTH1                       [ERROR] Compiling bin/WalkPlot                        [ERROR] /usr/bin/ld: warning: libMLP.so, needed by /opt/root/lib/libTMVA.so, not found (try using -rpath or -rpath-link) /opt/root/lib/libTMVA.so: undefined reference to TMultiLayerPerceptron::TMultiLayerPerceptron(char const*, TTree*, char const*, char const*, TNeuron::ENeuronType, char const*, char const*)'
/opt/root/lib/libTMVA.so: undefined reference to TMultiLayerPerceptron::Train(int, char const*, double)' /opt/root/lib/libTMVA.so: undefined reference to TMultiLayerPerceptron::Evaluate(int, double*) const'
/opt/root/lib/libTMVA.so: undefined reference to TMultiLayerPerceptron::SetLearningMethod(TMultiLayerPerceptron::ELearningMethod)' /opt/root/lib/libTMVA.so: undefined reference to TMultiLayerPerceptron::SetEventWeight(char const*)'
/opt/root/lib/libTMVA.so: undefined reference to TMultiLayerPerceptron::LoadWeights(char const*)' /opt/root/lib/libTMVA.so: undefined reference to TMultiLayerPerceptron::Export(char const*, char const*) const'
/opt/root/lib/libTMVA.so: undefined reference to TMultiLayerPerceptron::DumpWeights(char const*) const' collect2: error: ld returned 1 exit status /usr/bin/ld: warning: libMLP.so, needed by /opt/root/lib/libTMVA.so, not found (try using -rpath or -rpath-link) /opt/root/lib/libTMVA.so: undefined reference to TMultiLayerPerceptron::TMultiLayerPerceptron(char const*, TTree*, char const*, char const*, TNeuron::ENeuronType, char const*, char const*)'
/opt/root/lib/libTMVA.so: undefined reference to TMultiLayerPerceptron::Train(int, char const*, double)' /opt/root/lib/libTMVA.so: undefined reference to TMultiLayerPerceptron::Evaluate(int, double*) const'
/opt/root/lib/libTMVA.so: undefined reference to TMultiLayerPerceptron::SetLearningMethod(TMultiLayerPerceptron::ELearningMethod)' /opt/root/lib/libTMVA.so: undefined reference to TMultiLayerPerceptron::SetEventWeight(char const*)'
/opt/root/lib/libTMVA.so: undefined reference to TMultiLayerPerceptron::LoadWeights(char const*)' /opt/root/lib/libTMVA.so: undefined reference to TMultiLayerPerceptron::Export(char const*, char const*) const'
/opt/root/lib/libTMVA.so: undefined reference to TMultiLayerPerceptron::DumpWeights(char const*) const' collect2: error: ld returned 1 exit status make: *** [bin/WalkPlot] Error 1 make: *** Waiting for unfinished jobs.... make: *** [bin/converTH1] Error 1

When she also saw this…was it on this computer? Or was it somewhere else?

Regarding SL7 on grsmid01, I don't think there is any need to update the operating system. You can already use a newer compiler by running
source /opt/rh/devtoolset-2/enable
This switches the user to use g++ 4.8.2, which is new enough to compile/run ROOT 6 and GRSISort with c++11 support.

And I've just compiled the newest version of GRSISort on dimorphodon. I got a few warnings from some scripts and had to rename myAnalysis/ReadGain.cxx to myAnalysis/ReadGain.C because it had an error in it and wouldn't compile. But apart from that everything worked.
The main difference I see between the environment variables of S1468 and S1625 is the *LD_LIBRARY_PATHs, the DYLD_LIBRARY_PATH on S1625 has an additional $GRSISYS/lib, but more importantly the LD_LIBRARY_PATH on S1625 has /opt/root/libraries instead of /opt/root/lib (which contains all the root libraries). I've changed this, and the currently installed grsisort on S1625 compiles with root 6 (which I now realize I shouldn't have done, as other people might be using this version right now? Sorry!).
The LD_LIBRARY_PATH on S1468 is also somewhat messed up, as it has $GRSISYS/libraries at the end. I suspect there is something wrong with the "standard" profile or .bashrc (or scripts called from those).

I think the issue on S1625 was that the .bashrc would "manually" set the LD_LIBRARY_PATH and then source thisgrsi.sh. When using thisgrsi.sh it is unnecessary to set any variables, so I've modified the .bashrc to check if ~/packages/GRSISort/thisgrsi.sh exist and then run it (and not set any other environment variables).
S1468 never used the thisgrsi.sh script (only manually set variables), so it didn't have that issue. I've fixed the .bashrc for that account as well.

For those who don't know root6 is already installed on grsmid01.
The issue with older centos versions is there gcc compiler is too older to
install root6, however the folks at cern have a work around that.  By
install redhat devtoolset package on any computer, you can change the cpp
compiler for an individual session.  This accomplishes the main goal
achieved by upgrading to centos-7 without actually upgrading.   grsmid01
has devtoolset-2 already  installed.  simply add:
if [ -f /opt/rh/devtoolset-2/enable ]; then
source /opt/rh/devtoolset-2/enable
fi
to your bashrc, when you log into grsmid01, you will have an newer version
of gcc in use and can use the root6 installed at
/opt/root_v6.08.06
on grsmid01.  simply source thisroot.sh in it's bin directory and recompile
grsisort with the root6 supported latest version.  Using the
redhat-devtoolset package allows individual accounts to take full advantage
of the computer with out forced upgrades on everyone.
On Tue, Jun 6, 2017 at 3:56 PM, Vinzenz Bildstein<EMAIL_ADDRESS>wrote:

I think the issue on S1625 was that the .bashrc would "manually" set the
LD_LIBRARY_PATH and then source thisgrsi.sh. When using thisgrsi.sh it is
unnecessary to set any variables, so I've modified the .bashrc to check if
~/packages/GRSISort/thisgrsi.sh exist and then run it (and not set any
other environment variables).
S1468 never used the thisgrsi.sh script (only manually set variables), so
it didn't have that issue. I've fixed the .bashrc for that account as well.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/GRIFFINCollaboration/GRSISort/issues/895#issuecomment-306599027,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAacI7YwrED7R_-KbE1XXlupDq1N4Quiks5sBa7dgaJpZM4NExGd
.

To run root6 on grsmid01, users also need to use python 2.7. To do that, use
if [ -f /opt/rh/python27/enable ]; then
   source /opt/rh/python27/enable
fi

in your .bashrc (just like in ~S1625/.bashrc). I will leave this issue open for maybe another week or so and then close it, unless there's something else to be discussed in regards to supporting ROOT 6 only?

With PR #910 ROOT 5 is not supported anymore. We will make a release for the latest version that does work with ROOT 5 and close this issue.

Done


Grouped information

How can I show grouped information in my report? I have the following sql:
SELECT team, player_name from players
And I want to show my report like this:
Team 1
Player 1
Player 2
Team 2
Player 1
Player 2

We ran into this need as well.
What I ended up doing was just adding "grouped_results" and "grouped_raw_results" method in my report class and referencing them in a custom report view. We built a result table for each group. We looped through them by doing
report.grouped_results.each_pair do |group, rows|

Those methods just used group_by on results.rows and raw_results.rows respectively.

Hey guys! Sorry I am a repo slum lord. I use https://github.com/adamhunter/dossier-segmenter to mange this type of groupings to the nth complexity. Unfortunately, there is no documentation. I will try and add some this weekend if it would be helpful for future reports.

Ha, that's not a problem. I had to solve this somehow and that's the quickest thing I came up with.
I'll check this project out at a later date and possibly refactor what I've done.

It might be a good time to add a Wiki page for add-on gems or related projects.


feat: ✨ initial api app

closes #7

Summary by CodeRabbit

New Features

Introduced comprehensive configurations for ESLint, Prettier, and TypeScript to enhance code quality and maintainability.
Added a README.md file with detailed documentation for the Nest framework.
Established a foundational structure for the API application, including controllers and services.
Implemented unit and end-to-end tests to ensure core functionality.

Bug Fixes

Improved build process by excluding unnecessary files from TypeScript compilation.

Documentation

Added README.md for user guidance and project details.

Chores

Introduced .gitignore to maintain a clean repository.
Added configuration files for Jest and TypeScript to streamline testing and compilation processes.
Added a changelog configuration to manage and document changes effectively.

close https://github.com/zhumeisongsong/time-travels-workspace/issues/7


:ckick dose not display correctly.

Version channel
Stable (Default)
Loader version
261
What part of Adonis is this related to?
Command
What happened?
When you ckick someone and it shows the gui the title works fine but the start of the message gets cut off

Steps to reproduce
Run :ckick on a player and you will see that the message start is cut off.
Device
Windows
Relevant log output
No response

Im pretty sure ik what's causing it and im gonna look into it

Ok also for some reason it makes my studio crash...

Ok also for some reason it makes my studio crash...
oh yeah thats what the command does

https://github.com/Epix-Incorporated/Adonis/pull/1789


set PMM_WIDTH to int

set PMM_WIDTH to int to avoid TypeError: '<' not supported between instances of 'str' and 'int'
fixing bug #435
Description
only one line changed to return PMM_WIDTH as INT
Issues Fixed or Closed

Fixes #435

Type of Change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)

Checklist

[ ] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas

I was just about to also submit a pull request for this same thing. Sorry to @Data-Monkey for not spotting this before I submitted my pull request to your unraid template.

Great Find! you were exactly right all i need to do is change that little snippet.
Side Note I dont accept pull requests directly to master they should be submitted to develop first. I went ahead and made this change in develop so the pull will not be needed.

I dont accept pull requests directly to master
that makes a lot of sense, I should have checked for a development branch first.
Next time :-)


False positive 'Invalid value for "Config.extra" [pydantic-config]'

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
Consider this code:
# test.py
from pydantic import BaseModel, ConfigDict

def condition() -> bool:
    return True

class MyModel(BaseModel):
    model_config = ConfigDict(extra="ignore" if condition() else "forbid")

# mypy.toml
[tool.mypy]
plugins = ["pydantic.mypy"]

Running mypy --config mypy.toml test.py gives
test.py:10: error: Invalid value for "Config.extra"  [pydantic-config]
Found 1 error in 1 file (checked 1 source file)

The error is incorrect, since the value is a valid literal in both cases, whicever branch of the condition is executed.
Might be related to https://github.com/pydantic/pydantic/issues/3481.
Example Code
No response
Python, Pydantic & OS Version
pydantic version: 2.6.4
        pydantic-core version: 2.16.3
          pydantic-core build: profile=release pgo=true
                 install path: .venv/lib/python3.12/site-packages/pydantic
               python version: 3.12.2 (main, Feb 25 2024, 16:35:05) [GCC 11.4.0]
                     platform: Linux-6.1.79-060179-generic-x86_64-with-glibc2.35
             related packages: pydantic-settings-2.2.1 mypy-1.9.0 pyright-1.1.353 typing_extensions-4.10.0 pydantic-extra-types-2.6.0
                       commit: unknown

@Apakottur,
Hmm, thanks for reporting this. Seems like a bug, but a pretty minor one. Maybe @dmontagu has an idea for an easy fix...

This has to do with how mypy handles union of types (see playground). I don't think Pydantic can do much here.
For reference, pyright will handle this correctly as "ignore" if condition() else "forbid" is inferred as Literal["ignore", "forbid"].

@Viicos is right; suggested approach compatible with mypy:
# test.py
from pydantic import BaseModel, ConfigDict
from typing_extensions import Literal

def condition() -> bool:
    return True

_my_model_extra: Literal['ignore', 'forbid'] = "ignore" if condition() else "forbid"

class MyModel(BaseModel):
    model_config = ConfigDict(extra=_my_model_extra)

I haven't confirm this works but I think it should. If it doesn't, I am more confident the following would work:
from pydantic import BaseModel, ConfigDict
from typing_extensions import Literal

def condition() -> bool:
    return True

def _get_my_model_extra() -> Literal['ignore', 'forbid']:
    if condition():
        return 'ignore'
    else:
        return 'forbid'

class MyModel(BaseModel):
    model_config = ConfigDict(extra=_get_my_model_extra())

@Apakottur thanks for the info, I see the problem — the issue is that we have additional checks in the plugin itself. I think I'm going to make this check more lax so it only errors if you use a string or member and it isn't the right value. If you use a conditional expression etc. it just won't type check the value (I think that's hard to do in a plugin, but if anyone knows a good way I will be happy to incorporate it), but note that if you use ConfigDict like you have' you'll get proper type checking from the usual non-plugin type checks, so this seems like a good solution.


Backport "HBASE-28882 Backup restores are broken if the backup has moved locations (#6294)" to branch-3

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 33s

Docker mode activated.

-0 :warning:
yetus
0m  3s

Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --author-ignore-list --blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck

_ Prechecks _

_ branch-3 Compile Tests _

+0 :ok:
mvndep
0m 12s

Maven dependency ordering for branch

+1 :green_heart:
mvninstall
4m 14s

branch-3 passed

+1 :green_heart:
compile
1m  8s

branch-3 passed

+1 :green_heart:
javadoc
0m 42s

branch-3 passed

+1 :green_heart:
shadedjars
8m 24s

branch has no errors when building our shaded downstream artifacts.

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 11s

Maven dependency ordering for patch

+1 :green_heart:
mvninstall
4m 52s

the patch passed

+1 :green_heart:
compile
1m 15s

the patch passed

+1 :green_heart:
javac
1m 15s

the patch passed

+1 :green_heart:
javadoc
0m 29s

the patch passed

+1 :green_heart:
shadedjars
8m 31s

patch has no errors when building our shaded downstream artifacts.

_ Other Tests _

+1 :green_heart:
unit
1m 13s

hbase-protocol-shaded in the patch passed.

+1 :green_heart:
unit
16m 46s

hbase-backup in the patch passed.

50m  7s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6513/1/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/6513

Optional Tests
javac javadoc unit compile shadedjars

uname
Linux e9b77b90d6aa 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
branch-3 / 311e0b68cf2e4da0e684edc5606bb570826c64e5

Default Java
Eclipse Adoptium-17.0.11+9

Test Results
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6513/1/testReport/

Max. process+thread count
3650 (vs. ulimit of 30000)

modules
C: hbase-protocol-shaded hbase-backup U: .

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6513/1/console

versions
git=2.34.1 maven=3.9.8

Powered by
Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 34s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+0 :ok:
buf
0m  0s

buf was not available.

+0 :ok:
buf
0m  0s

buf was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
hbaseanti
0m  0s

Patch does not have any anti-patterns.

_ branch-3 Compile Tests _

+0 :ok:
mvndep
0m 13s

Maven dependency ordering for branch

+1 :green_heart:
mvninstall
3m 31s

branch-3 passed

+1 :green_heart:
compile
1m 16s

branch-3 passed

+1 :green_heart:
checkstyle
0m 18s

branch-3 passed

+1 :green_heart:
spotbugs
4m  1s

branch-3 passed

+1 :green_heart:
spotless
1m 25s

branch has no errors when running spotless:check.

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 22s

Maven dependency ordering for patch

+1 :green_heart:
mvninstall
5m  3s

the patch passed

+1 :green_heart:
compile
1m 34s

the patch passed

+1 :green_heart:
cc
1m 34s

the patch passed

-0 :warning:
javac
0m 43s
/results-compile-javac-hbase-backup.txt
hbase-backup generated 1 new + 101 unchanged - 0 fixed = 102 total (was 101)

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

-0 :warning:
checkstyle
0m 13s
/results-checkstyle-hbase-backup.txt
hbase-backup: The patch generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)

+1 :green_heart:
spotbugs
4m  5s

the patch passed

+1 :green_heart:
hadoopcheck
16m 35s

Patch does not cause any errors with Hadoop 3.3.6 3.4.0.

+1 :green_heart:
hbaseprotoc
1m 33s

the patch passed

+1 :green_heart:
spotless
1m  3s

patch has no errors when running spotless:check.

_ Other Tests _

+1 :green_heart:
asflicense
0m 27s

The patch does not generate ASF License warnings.

53m  0s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6513/1/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/6513

Optional Tests
dupname asflicense javac spotbugs checkstyle codespell detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat hbaseprotoc

uname
Linux 0ae2e98253a2 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
branch-3 / 311e0b68cf2e4da0e684edc5606bb570826c64e5

Default Java
Eclipse Adoptium-17.0.11+9

Max. process+thread count
83 (vs. ulimit of 30000)

modules
C: hbase-protocol-shaded hbase-backup U: .

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6513/1/console

versions
git=2.34.1 maven=3.9.8 spotbugs=4.7.3

Powered by
Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.