Question: Is it possible to produce events using reactor?

Hi, I am working with ReactorProcessor and I would like to produce events. I tried the following code, but it did not write any new events into output topic.
Example code:
lateinit var pConsumer:  ReactorProcessor<String, JsonObject>
    private fun createReactParallelConsumer(): ReactorProcessor<String, JsonObject> {
        val producer: Producer<String, JsonObject> = KafkaProducerBuilder.getProducer(kafkaConsumerConfig)
        val options = ParallelConsumerOptions.builder<String, JsonObject>()
            .ordering(ParallelConsumerOptions.ProcessingOrder.KEY)
            .maxConcurrency(parallelConsumerConfig.maxConcurrency)
//            .batchSize(parallelConsumerConfig.batchSize)
            .consumer(buildConsumer(kafkaConsumerConfig))
            .producer(producer)
            .build()
        return ReactorProcessor(options)

      pConsumer.react { context ->
            val event = context.singleConsumerRecord
            // do something with event
            val result = ProducerRecord<String, JsonObject>("output", event.key(),
                JsonObject(mapOf("someTest" to event.offset())))
            Mono.just(result)
        }

What am i missing?

Hi and welcome to the project! The reactor module doesn't have the produce flow implemented. However, you can produce a record directly with the producer. However you should consider if you want to wait for positive ack from the broker first or not. If doing a blocking send, you should use a blocking thread pool from Reactor to do it.
To make this more obvious, I could have the reactor module check the return result of the user function, and either throw an exception or log a warning, if a ProducerRecord is returned from your React function. Thoughts?
With regards to sending, the core module does send in bulk, an wait in bulk for send acks. However it still blocks while doing so. See this upcoming PR for fully async non blocking rec ack in the core module:

#356

Curious - what sort of load do you have, that you want to use Reactor? Or is it just to be more efficient with resources?

Hi,
First of all, thanks for this great library. We are using Reactor since we are writing to S3 and RDS and we want to do it in an async way without blocking, to achieve better usage of resources.
Currently, we are working on implementing the producer logic. Once our processor tasks are finished in an async way (we are not blocking) we produce events with callbacks that "on complete" update "computableFuture"s.
We return at the end of the function a Mono.fromFuture(of the Computable future for those producer results). We assume that the library will only commit after the callback will finish successfully.
Does that make sense?
BTW the reason I opened this issue was that I saw the producer in the reactor example

My pleasure! :)
Yup! Sounds great! And yes, that's right. You can see in the Reactor adapter, that the hooks for commit don't register until the Future completes.
You could probably do a PR to do basically that and have it inside pc.
If you could paste your code, I can take a look to see if it lines up with what I'm imagining.

BTW the reason I opened this issue was that I saw the producer in the reactor example

Link didn't work, but the reactor example - yeah it's not the greatest, but the item it returns is just a dummy string. It doesn't try to send a record back to PC. Am I missing something?

PR is too much for me now, Our code is written in kotlin and obviously I can not share it, but I converted the relevant parts to java. For what it worth here is an example code of what we did:
    /**
     *
     * // Example usage
     parallelConsumer.react(context -> {
         var consumerRecord = context.getSingleRecord().getConsumerRecord();
         log.info("Concurrently constructing and returning RequestInfo from record: {}", consumerRecord);
         Map<String, String> params = UniMaps.of("recordKey", consumerRecord.key(), "payload", consumerRecord.value());
         Mono originalResult =  Mono.just(Arrays.asList(new ProducerRecord("topic", "key", "some value"));
         return originalResult.map(batchProducer::produce);
     });
     */
class BatchProducer<K, V> {
        Producer<K, V> producer;

        public BatchProducer(Producer<K, V> producer) {
            this.producer = producer;
        }

        public Mono<List<RecordMetadata>> produce(List<ProducerRecord<K, V>> messages) {
            List<CompletableFuture<RecordMetadata>> futures = messages.stream().map(message -> {
                CompletableFuture<RecordMetadata> completableFuture = new CompletableFuture<RecordMetadata>();
                Callback kafkaCallback = createCallback(completableFuture);
                producer.send(message, kafkaCallback);
                return completableFuture;
            }).toList();
            CompletableFuture<List<RecordMetadata>> oneResult = sequence(futures);
            return Mono.fromFuture(oneResult);
        }

        // From here: https://stackoverflow.com/questions/30025428/convert-from-listcompletablefuture-to-completablefuturelist
        static<T> CompletableFuture<List<T>> sequence(List<CompletableFuture<T>> com) {
            return CompletableFuture.allOf(com.toArray(new CompletableFuture<?>[0]))
                    .thenApply(v -> com.stream()
                            .map(CompletableFuture::join)
                            .collect(Collectors.toList())
                    );
        }

        private Callback createCallback(CompletableFuture<RecordMetadata> completableFuture) {
            return new Callback() {
                @Override
                public void onCompletion(RecordMetadata metadata, Exception exception) {
                    if (exception != null) {
                        completableFuture.completeExceptionally(exception);
                    } else {
                        completableFuture.complete(metadata);
                    }
                }

            };
        }

        public void close() {
            producer.close();
        }

    }

Hi again,
Following adding a PR to contribute to the project, I tried to download and compile it locally, and it failed, the reason it fails as far as I understand is due to maven repositories that are not publicly available and also jars that are not available in maven central.
Is there a guide on how to install locally?
Is there something I should do before running mvn clean compile?
Is there a workaround?

TG isn't in maven central, but it is in a public repo, and the repo is added in the pom. Should be fine - unless your corporate proxy setup blocks other repos?
It's on my list to add TG to central, but it's not a priority.

Is there a guide on how to install locally?

shouldn't be needed

Is there something I should do before running mvn clean compile?

no

Is there a workaround?

to what?

I'm on the confluent community slack if you want to chat in real time FYI


add .babelrc to npmignore to work under React Native

React Native uses different babel settings

Thanks!

Thank you for fast merge! Will it be published? I've just published React native example, demo is welcome (unfortunately i was not able to use kefir.react.html, react native packager outputs pretty weird errors):
https://github.com/aksonov/react-native-reactive-counter-example


Discussion: Dart version management

One of cool things about fvm is the ability to lock flutter version. But for me locking dart version in project might as useful. I know it might be allot of work. But @leoafarias what do you think. Does this idea make sense?
Jas

@jascodes I don't think it is a good idea to have flutter with a different dart dependency from what its shipped within the release.
Are you talking about for projects that do not depend on Flutter?
while building FVM I faced that problem because FVM its not dependent on flutter but it is on Dart.

Oh great I didn't realise that each flutter version had its own local dart version. I was under wrong impression that the system version (installed on machine) of dart is used for compilation in flutter projects; no matter version.
Am I right?

"Downloading the Flutter SDK also downloads the compatible version of Dart, but if you’ve downloaded the Dart SDK separately, make sure that the Flutter version of dart is first in your path, as the two versions might not be compatible. "
https://flutter.dev/docs/get-started/install/windows#update-your-path
That is why Flutter suggests proxying dart commands like flutter pub get that uses the dart sdk within the Flutter release

@leoafarias Awesome, Thx for taking time and explaining. Very helpful and much appreciated. I am going to close this.


improvement: deprecate openldap dependency for apisix

This PR is in the scope of this issue in apisix repo: https://github.com/apache/apisix/issues/7865

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Please make the ci pass

Please make the ci pass

Please correct me if I am wrong but it seems like a circular dependency happened between https://github.com/api7/apisix-build-tools/pull/337 and https://github.com/apache/apisix/pull/10175

This PR pulls latest of apisix where openldap is in the rockspec
https://github.com/apache/apisix/pull/10175 depends on the build tool change in this PR

@Zhenye-Na Please fix the CI errors first.

As I mentioend above, the circular dependency of this repo and apache/apisix occurs here: https://github.com/api7/apisix-build-tools/actions/runs/6445185009/workflow?pr=337#L44
this package is building apisix with the master branch, where lualdap/openldap exists. However, this PR delted the dependency which caused the issue.
If it is ok to you @kingluo , I could redirect the line above to my own forked branch to see if CI could pass.

@Zhenye-Na
ok, if you confirm these 4 errors are expected due to circular dependencies (I think so after reading the code),  I'll approve it.
@monkeyDluffy6017 @membphis @moonming
What about your opinions?

@Zhenye-Na ok, if you confirm these 4 errors are expected due to circular dependencies (I think so after reading the code), I'll approve it. @monkeyDluffy6017 @membphis @moonming What about your opinions?

Please let me know what else I could test to make sure there is nothing I missed regarding this dependency deprecation. Meanwhile, if there is a way to inject my personal fork to test things out here, that will be even better.
Thanks!

@Zhenye-Na Is this PR prerequisite for https://github.com/apache/apisix/pull/10176?

@Zhenye-Na Can you fix the merge conflicts?

@Zhenye-Na Is this PR prerequisite for apache/apisix#10176?

Yes

@Zhenye-Na Can you fix the merge conflicts?

I could work on this, but will definitely appreciate any guidance of merging this PR later

@Zhenye-Na Can you fix the merge conflicts?

I could work on this, but will definitely appreciate any guidance of merging this PR later

When can you work on this?

@Zhenye-Na Can you fix the merge conflicts?

I could work on this, but will definitely appreciate any guidance of merging this PR later

When can you work on this?

Please allow me to rebase and resolve any merge conflicts by end of this Friday.
I could ping you here once I got next revision out, if it works for you ?
thanks

Missed the committed SLA, will prioritize this patch during this work week.
Thanks

@Revolyssup just resolved merge conflicts


[BUILD] [SPARK-9179] Use default primary author if unspecified

Fixes feature introduced in #7508 to use the default value if nothing is specified in command line
cc @liancheng @rxin @pwendell

LGTM

I don't think this is tested by Jenkins. Merging this

Merged build triggered.

Merged build started.

Test build #37916 has started for   PR 7558 at commit 7092141.

LGTM, thanks for fixing this!

Test build #37916 has finished for   PR 7558 at commit 7092141.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.


Better HTTP error detection

The same way a HTTP route can read throw clauses to add errors, providers should also include throw clauses it the route they are used.
Maybe custom errors should also be added by inferring their type

Errors are also thrown used when HttpErrors are used inside providers because route will be null. Providers should have a route => void function to transform every route it is applied to possible modify schemas instead of not supporting them

Response descriptions should be provided when a @returns <msg> and/or @throws {123} <msg> is provided
/**
 * @throws {400} Invalid email or password
 * @returns a created user
 */
export function get() {}

Repeated statuses should throw an validation error and a custom syntax like @throws {100}! <msg> should be added to throw if the route does not throws the described error through a HttpErrors parameter.


Show custom Molch Pearl chance

Maybe have a config option to show the droprate you have for a molch pearl?
Which the current equation is to work that out is
1 / (100 - ((X - 40) * 25 / 59))
Where
X = (FishingLevel * 2 + HunterLevel) / 3
This would be something like how the maths works for it, I'm unsure how to do some things, such as pulling fishing levels and hunter levels from RuneLite
`public class DropRateCalculator {
public static void main(String[] args) {
    int fishingLevel = // Get Fishing level from RuneLite
    int hunterLevel = // Get Hunter level from RuneLite

    double X = (fishingLevel * 2 + hunterLevel) / 3.0;
    double dropRate = 100 - (((X - 40) / 59) * 25);
    int roundedDropRate = (int) Math.ceil(dropRate);
}

}
`
And now make a setting in the config if you want to show the droprate or not, and update the fishingLevel and hunterLevel if possible when leveling up.
Then if the setting is enabled show something in the overlay like Pearl Droprate: 1/ roundedDropRate

Hmm, looks like you did a good bit of the heavy lifting there for me which is great!
I'll look to do try this over the weekend and see if I can't get it working. I like it as being a config option to show or not as well.

Another suggestion which you could add as config options aswell, since you're obviously keeping track of the amount caught, because of the tench chance, since you have the worst dry streak (Mine was 329 when I was using it earlier and I worked out my drop rate to be 1/79 😥) you could maybe even have a best streak (Which mine was 2) and then fish caught / pearlsGained for your average rate so if I caught 2,200 fish and gained 32 pearls with that bad dry streak and also the good streaks I was getting a pearl on average of 1/68.75 catches, therefore I was actually a bit luckier than the 1/79 droprate, and preferably having these options to be enabled/disabled in the settings.
Aswell as maybe even making the last caught, and worst dry streak as options so if I wanted I could just see my best and worst streaks, or just my average rate etc.
But so far with me using it, I do love the plugin already, thanks for making it, I wouldn't know where to start with it.
And I mainly gave you the example before so you had the correct maths (Which is from the wiki, quoted from a Mod Ash Tweet)

@H4waiianPunch can I get permissions to push a remote branch and open a PR? I'm getting a 403 when I attempt to push it up. It accounts for this request and a bit more. You are also free to reject it obviously if its not what you are looking for.

Hey @BugcatcherBill , I'm nearly done with everything, just working on the Tench Chance right now and then I'm pushing everything out together. Sorry I'm being restrictive on pushing, etc. It's just my first plugin and my opportunity to learn how to make it work myself. I know that goes against the grain for what most people would do, but I'm weird I guess lol.

Finally pushed everything to master, I'll push to RL soon.

No worries, take your time. This is actually my first attempt at contributing as well. Its mostly driven by trying to make aerial fishing a bit less boring lol. I was a bit disappointed there was such little plugin support for aerial fishing and was excited when I came across your plugin. Definitely appreciate this as your project and learning opportunity. If you are looking for open collaboration please add that permission to the repo after you finish pushing up your changes. I will resolve any conflicts and determine if my PR adds anything of value in addition to what you have done.

I'll figure out how to loosen things up a bit, I went with the strictest settings because idk Github that well.

The permission will allow me to push my branch up so that you can look at the code and decide if you want to accept it or not. If you would prefer this repo to remain private that's okay too. But at the very least I would like to share the code with you. Its also a great opportunity to review each other's code and learn together.

I think you're right. I was being a dink about it. Reviewing the code and learning is always important.

If you are 100% against even that.  I'll figure out how to set things up nicer in the coming days and then we'll go from there!

Sounds like a plan, Love the changes that I have seen in the read me so far.  I prefer % over "x/y" format, but it looks like largely we approached this pretty similarly.

A little splash of color might not be a bad idea either :)

Nice! Very similar overall I would say!
Love the colors, but I wanted to try and keep the same things grouped together color-wise, thought it might be easier to read.
Also enjoying the longer descriptions for the overlay, might need to change some of those around to be more descriptive like yours. I just worry about taking up too much real estate on the screen for users.
Since I have the PR to the plugin hub on-going I'll close this out.

@H4waiianPunch can I get permission to push a remote branch and open a PR? I'm getting a 403 when I attempt to push it up. It accounts for some of this request and maybe a bit more.

PS. Try again. @BugcatcherBill

@H4waiianPunch can I get permission to push a remote branch and open a PR? I'm getting a 403 when I attempt to push it up. It accounts for some of this request and maybe a bit more.

PS. Try again. @BugcatcherBill

Still denied


Malaria diseases detection using deep learning

hey @khusheekapoor i would like to work on this project...please assign this to me :)

Hi, I am very much interested and would like to contribute as a part of @GSSOC'23.
Please assign the task to me. Thank you.

@Mansi168 - you can go ahead! We are assigning you 21 days for this project, after which it will be assigned to someone else if not completed. All the best!
Name the file as: algorithm_dataset.ipynb and link it in the readme of the labeled directory as algorithm - dataset.
@tushtithakur  - since we are following the first-come-first-serve policy, we will not be able to assign you this issue. However, you can create another issue on the similar lines.

Thanks @khusheekapoor :)

hey @khusheekapoor u have labelled it wrong it is a deep learning project not machine learning. kindly change it. thanks :)


Update README.md

Replaced an https link in the integration testing directions with an ssh one. Because contributors that are pod repo push'ing will have 2FA on, they should use the ssh link when they add pod repo add the staging repo as to not get weird auth issues on the command line

Ok, now I'm done with the README updates for today 😅


[zh] Missing page for downward-API

The commit 7f3604a949c1d85b2074cea3e3068e1b522850d8 introduced a new page which is missing in the zh-cn localization:
content/en/docs/concepts/workloads/pods/downward-api.md
Need help to translate it.
/language zh
/help

/triage accepted

I want to translate this document. Can you assign it to me

/assign @zhangxyjlu


Add support for U2F security keys

The problem I'm trying to solve:
I only use my Titan security key for 2FA authentication and the CLI tool doesn't support the U2F security keys for login and only accepts the code from an authenticator app or SMS.
How I imagine hub could expose this functionality:
Doesn't need a separate subcommand, only use the default 2FA method from the user's account (SMS, App or security key). Also providing a flag like hub issue -u2f might be a good option too for forcing security key for commands.
There was a discussion about adding this feature in #1621 but that issue has been closed since a long time ago. Currently, I think it's possible to add this feature using a library like: github.com/marshallbrekka/go-u2fhost
P.S: I can take care of this one and create a PR if maintainers think it's necessary too.

Hi, we will not add any new features to the way hub currently does authorizations because the corresponding Authorizations API is going away.
In future versions of hub, all authorizations will be going through an OAuth web flow where you will be able to use the U2F device of your choice.


TabBar navigation with open Drawer causes crash

Hi,
My application is using the TabBar as the top level way to navigate between pages. In a child page, the Drawer class is being invoked to show the sidebar for that page.
What the page looks like:
+--------------------------------+
|           TabBar               |
+--------+-----------------------+
|        |                       |
|        |                       |
|Drawer  |                       |
|        |                       |
|        |                       |
|        |               Page    |
|        |                       |
+--------+-----------------------+

The framework throws when the Drawer is open and then a tap event on the TabBar takes place which causes the Drawer to call Navigate.pop(context) internally, which further calls setState, also internally, then throws error: > setState() or markNeedsBuild() called when widget tree was locked.
Flutter Doctor Verbose :)
[✓] Flutter (Channel beta, v1.14.6, on Mac OS X 10.15.3 19D76)
    • Flutter version 1.14.6 at flutter
    • Framework revision fabeb2a16f (6 weeks ago), 2020-01-28 07:56:51 -0800
    • Engine revision c4229bfbba
    • Dart version 2.8.0 (build 2.8.0-dev.5.0 fc3af737c7)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at /Users/sashnortier/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.3, Build version 11C29
    • CocoaPods version 1.8.4

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 3.5)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 43.0.1
    • Dart plugin version 191.8593
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

[✓] IntelliJ IDEA Community Edition (version 2019.2.4)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 42.2.2
    • Dart plugin version 192.7761

[✓] VS Code (version 1.43.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.8.1

[✓] Connected device (3 available)
    • iPhone 11 Pro • B89BA0D6-10C8-4BFA-A12D-7DF5E5A5DE7F • ios            • com.apple.CoreSimulator.SimRuntime.iOS-13-3 (simulator)
    • Chrome        • chrome                               • web-javascript • Google Chrome 80.0.3987.132
    • Web Server    • web-server                           • web-javascript • Flutter Tools

This UI layout is really a turn key solution for the app and wanted to reach out to see how this may be resolved.

Could you give us some code? It's hard to give you an answer without any code...

Hi @sashvoncurtis
does this code represent the issue you are describing?
Thank you

@iapicca not  really, but can see the issue there.
@GaspardMerten
This is a simple representation of the structure.
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
    TabController _tabController;

  @override
  Widget build(BuildContext context) {
        return Scaffold(
          appBar: AppBar(
            bottom: TabBar(...),
          ),
          body: TabBarView(
            controller: _tabController,
            children: <Widget>[
              SomePage(),
            ],
          ),
        );

  }
}

class SomePage extends StatelessWidget {
  Widget  build(BuildContext context) {
    Scaffold(
      body: Column(
        children: <Widget>[
          Drawer(),
          ...
        ]
      )
    );
  }
}

There is  a top level TabBar, where the TabBarView takes a child page, the child page has the drawer.
When the drawer is open and the TabBar is tapped, it causes the Drawer to call .pop &  setState resulting in the error because the build tree is locked as a new build method has been invoked.
Seems overlooked
Hope that helps :)
This is  the exception:
══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY════════════════
The following assertion was thrown while finalizing the widget tree:
setState() or markNeedsBuild() called when widget tree was locked.
This _ModalScope<dynamic> widget cannot be marked as needing to build because
the framework is
locked.
The widget on which setState() or markNeedsBuild() was called was:
_ModalScope<dynamic>-[LabeledGlobalKey<_ModalScopeState<dynamic>>#eaca8]

HI @sashvoncurtis
I cannot reproduce the issue even with the structure you described
if this sample
does not represent your issue please provide a minimal reproducible code sample
Thank you

Hi @iapicca,
Thanks for the example.
When on a page and you click the floating action button (bottom right) which opens the drawer, then click on one of the tabs  I get:
Script error.
Script error.
Script error.

in DartPad.

Got it,
thanks for the clarification @sashvoncurtis

This is due to local history gets removed from modal route in the end of build cycle during finalizeTree. The modal route will try to update its internal state to notify there is no more local history in this route. However, the state is locked during finalizeTree, thus throws this error


Upgrade to node 4.1.1

This PR looks OK for me. But could you confirm we can actually deploy this node version to Heroku?

In heroku tutorial forma config node apps... The screenshot they use is
using node 4.1.1 . So I inferred it is supported.
El mié., nov. 11, 2015 1:49, Franco Leonardo Bulgarelli <
<EMAIL_ADDRESS>escribió:

This PR looks OK for me. But could you confirm we can actually deploy this
node version to Heroku?
—
Reply to this email directly or view it on GitHub
https://github.com/mumuki/mumuki-mocha-server/pull/22#issuecomment-155662294
.


xcversion list error in prereleases

xcversion list is blowing up for me:
`
$ xcversion list
...
Username: aso@xxxxxxx
/Users/aso/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/xcode-install-2.4.1/lib/xcode/install.rb:438:in prereleases': undefined method first' for nil:NilClass (NoMethodError)
from /Users/aso/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/xcode-install-2.4.1/lib/xcode/install.rb:374:in fetch_seedlist' 	from /Users/aso/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/xcode-install-2.4.1/lib/xcode/install.rb:199:in seedlist'
from /Users/aso/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/xcode-install-2.4.1/lib/xcode/install.rb:408:in list_versions' 	from /Users/aso/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/xcode-install-2.4.1/lib/xcode/install.rb:300:in list'
from /Users/aso/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/xcode-install-2.4.1/lib/xcode/install/list.rb:13:in run' 	from /Users/aso/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/claide-1.0.2/lib/claide/command.rb:334:in run'
from /Users/aso/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/xcode-install-2.4.1/bin/xcversion:12:in <top (required)>' 	from /Users/aso/.rbenv/versions/2.3.3/bin/xcversion:22:in load'
from /Users/aso/.rbenv/versions/2.3.3/bin/xcversion:22:in <main>'
Version info:
(11:42:51) C02W513SHTD8:xcode-install aso$ gem list | grep fastlane
commander-fastlane (4.4.6)
fastlane (2.99.0, 2.10.0)
(11:43:06) C02W513SHTD8:xcode-install aso$ xcversion --version
2.4.1
Also, I did some digging and I seem to get ERR_INVALID_RESPONSE when going to https://developer.apple.com/services-account/QH65B2/downloadws/listDownloads.action in the browser.

I added #288 right after you did. Looks like Xcode beta 3 is hosted as a DMG now...

This is a dupe of #288


WordCount demo dosen't work well

Firstly, I run the demo code as follows:

`
public class WordCount {

public static void main(String[] args) {
    StreamBuilder builder = new StreamBuilder("wordCount");
    builder.source("sourceTopic", total -> {
                String value = new String(total, StandardCharsets.UTF_8);
                return new Pair<>(null, value);
            })
            .flatMap((ValueMapperAction<String, List<String>>) value -> {
                String[] splits = value.toLowerCase().split(",");
                return Arrays.asList(splits);
            })
            .keyBy(value -> value)
            .count()
            .toRStream()
            .print();
    TopologyBuilder topologyBuilder = builder.build();
    Properties properties = new Properties();
    properties.put(MixAll.NAMESRV_ADDR_PROPERTY, "<IP_ADDRESS>:9876");

    RocketMQStream rocketMQStream = new RocketMQStream(topologyBuilder, properties);

    Runtime.getRuntime().addShutdownHook(new Thread("wordcount-shutdown-hook") {
        @Override
        public void run() {
            rocketMQStream.stop();
        }
    });

    rocketMQStream.start();
}
}

`

And then I send a mq message in rocketmq dashborad, topic is sourceTopic, and the message content is "a,b,c"
But some error happened in the demo program, message detail as follows:
2023-06-26 23:41:49.945 [ROCKETMQ_STREAMS_wordCount_0] INFO  org.apache.rocketmq.streams.core.util.RocketMQUtil - topic[wordCount-ROCKETMQ-COUNT-00004-shuffleTopic] already exist. 2023-06-26 23:41:50.138 [ROCKETMQ_STREAMS_wordCount_0] INFO  o.a.rocketmq.streams.core.running.WorkerThread - worker thread=[ROCKETMQ_STREAMS_wordCount_0], start task success, jobId:wordCount 2023-06-26 23:41:53.917 [RebalanceService] INFO  o.a.r.s.core.running.MessageQueueListenerWrapper - recover messageQueue finish, addQueue: [[]], removeQueue:[[]]. 2023-06-26 23:42:13.974 [ROCKETMQ_STREAMS_wordCount_0] ERROR o.a.rocketmq.streams.core.running.WorkerThread - ignore error, jobId=[wordCount], skip this data. java.lang.NullPointerException: null  at org.apache.rocketmq.streams.core.running.WorkerThread$PlanetaryEngine.runInLoop(WorkerThread.java:194)  at org.apache.rocketmq.streams.core.running.WorkerThread.run(WorkerThread.java:104)

I have no idea, why the demo program throws NullPointerException, has any one ever had this problem?

thanks for you remind, I fix it already.


Readme for Mock server setup

ADD: Added README.md for setting up mock server

Also add the link to page here
https://github.com/SAP-samples/cloud-extension-ecc-business-process/blob/mission/mission/overview/ECCMission.md
https://github.com/SAP-samples/cloud-extension-ecc-business-process/blob/mission/mission/overview/S4HMission.md


No such file or directory: './features/features_train.cache.npy'

No such file or directory: './features/features_train.cache.npy'
how to fix it?

I also meet is error at first trainning. It is obviously that we should creat folder in root of this project before trainning.


create_hybrid_generation does not produce 'Contracted Energy'

create_hybrid_generation does not produce the 'Contracted Energy' column for some contracts types, this then causes the calculate_bill function to produce and error for these contract types.

Fixed! Added Contracted Energy traces to each df returned from create_hybrid_generation.


Officially name the hypervisor extension "H"

Note that this is currently the initial change.
It does not replace other references to

the hypervisor extension to
the "H" extension.

Still, even without replacing those, it can be a first patch of the series.
TODO List (for complete change)

[x] Check whether the name "Standard Extension for Hypervisor" is okay.

"Standard Extension for Hypervisor Support" is the official name (as suggested by @aswaterman)

[ ] Determine where to replace (to the "H" extension)
[ ] Actual replacement (or not)

Is this PR moving forward? I can help with the edits if they are approved.

@jhauser-us should approve or reject.

I think something like "Standard Extension for Hypervisor Support" would be a better name.

The title would be "H" Standard Extension for Hypervisor Support, then.  Can you update the PR, @a4lg?

@aswaterman Sorry for late. I'm back and will work on it.

@a4lg Note that recently we decided to remove the word "Standard" from extension titles, so please make that change here, too.  LGTM otherwise.

@aswaterman Thanks for letting me know (I was off for months and I'm glad to hear such changes to keep up).

Changed the commit title from "standard" to "base".
The use of the word "base" is likely non-canonical, but this is only in the commit title and reflects the fact that this is the baseline for the hypervisor support (without some extensions expected to be implemented along with the base H extension).

Fine with me.  We do not want "Base" in the chapter title, though, similar to how "Base" does not appear in the M-mode or S-mode chapter titles.


Force apache2 to be single-threaded

To avoid sync/locking issues, we really don't want multiple threads for the pipeline, except perhaps when dispatching requests to other foreign nodes, to enable them to be processed in parallel.

Maybe useful:
https://httpd.apache.org/docs/2.4/mod/worker.html
https://superuser.com/questions/783635/how-to-make-apache-2-4-work-in-single-worker-mode-by-default
https://stackoverflow.com/questions/49326592/wsgi-single-thread-configuration-on-a-multi-threaded-apache-server
https://stackoverflow.com/questions/38608488/how-can-i-use-threads-multi-threading-on-mod-perl

Tried this, and it seems to make Apache2 be single-threaded, but it does not solve the problem, because when an event is being handled for node, it also makes requests to the same server for static files, even though pipeline requests to the same server are intercepted and handled directly as function calls.  Some options:

Bite the bullet and figure out how to use shared data under multiple threads.
Simulate how apache2 serves static files (yuck!), instead of actually making an HTTP request for a static file on the same server.
Figure out a way to serve static files from one thread, and pipeline requests from a different single thread.


Enable Sidekiq delay extension for >5.0.0

As per https://github.com/philostler/rspec-sidekiq/pull/130#issuecomment-306683365 Sidekiq >5.0.0 is the delayed extension disabled by default. We therefore enable the extension to test properly.
Note: Some tests will still fail since Sidekiq >5.0.0 requires Ruby >=2.2.2. The PR https://github.com/philostler/rspec-sidekiq/pull/130 should address those failures.

Coverage increased (+6.1%) to 97.222% when pulling 0a8a1f9de40b173cf24600d9b9a3c3be1da46aa6 on trev:fix-sidekiq-test into ac4528ecff541242daa6145c24780d50ee06e4a0 on philostler:develop.

Coverage increased (+6.1%) to 97.222% when pulling 0a8a1f9de40b173cf24600d9b9a3c3be1da46aa6 on trev:fix-sidekiq-test into ac4528ecff541242daa6145c24780d50ee06e4a0 on philostler:develop.

Is there something we can do to get this merged?

I'm working on it, please be patient. I want to get all these working again without introducing too many artifacts of the application of several half measures. I'm going to try to pull these changes into a single PR, resolve conflicts, and then merge that.

I'm sorry, it wasn't my intention to make pressure. Take your time and let me/us know if we can help in any way.

Closed in favour of #130


items with no end_time

Hello,
I'm trying to display items without end_time (ex very ponctual event like a push to git)
I get items well with setting the end_time to the start_time but items are not displayed (ie width =0), see screenshot

is it possible to specify a "default width" (to display at least the tilte of the item)
another way would be to change item end date to (start_time + a fraction of the "step" size) but it would require a change on every item evry time i zoom in or out.

Hmm...currently there is no way to specify default width.  The way the timeline is built is assuming an item has a duration (i.e. start date and end date) so what you're doing will, in the meantime, require you to hack around with enddate and update on zoom.

I found a ccs way to to what I want; I just have a problem with items stacking now.
now that I'm sure there is no native way to do it, i'll try hacking end_date on zoom.
thanks for answering! :)

finally came with a solution that suits my needs; i'll share for anyone interrested in:
/*  enforce automatic size of items*/
.rct-item{
    width: auto !important;
    height: auto !important;
}

and set items end_date to a vvalue high enougth for items not stacking (I currently run with 2.5 days). Youy also need stackItems={true}
final render look like :


chore: add new metrics events to handle unknown errors

Currently, the iOS SDK 2.1.1 is reporting Unknown errors.
I checked the Load Balancer metrics, and I found that some response codes were not implemented in the SDKs.
So, I will add those metrics to the server for better observability.

3xx - Redirection
408 - Timeout
413 - Payload too large

TODO

[x] Server
[x] Android
[x] iOS
[ ] Javascript
[ ] Go
[ ] Node-js

iOS
https://github.com/bucketeer-io/ios-client-sdk/pull/68
Android
https://github.com/bucketeer-io/android-client-sdk/pull/134


change pstate 16 to pstate 0

The llama.cpp patch tries to set the GPUs to high performance mode when beginning inference. However, it currently has the pstate values backwards, and is using 16 (the lowest) as if it were the highest. This actually works fine on my machine, at least, since nvidia-pstate -ps 16 successfully forces pstate to... 0. For some reason. But might as well specify the right value in case that gets fixed.

Actually, pstate 16 is a special value that means "let the driver decide". It's not a real pstate. In my patches, pstate 8 is used when no inference is running, and 16 is used otherwise (because, as I know, few GPUs don't have pstate 0, using pstate 1 instead, for example).

Oh nice, that's much better! Yeah I was also thinking about the not exiting cleanly case, and just figured it was a necessary evil. Glad it can work this way.


AttributeError: 'tuple' object has no attribute 'shape'

Hello, thank you for your contribution to science. However, I encountered the following issue while running your object detection code：
Traceback (most recent call last):
File "/tmp/pycharm_project_764/tools/train.py", line 194, in
main()
File "/tmp/pycharm_project_764/tools/train.py", line 183, in main
train_detector(
File "/tmp/pycharm_project_764/mmdet/apis/train.py", line 186, in train_detector
runner.run(data_loaders, cfg.workflow)
File "/opt/anaconda3/envs/py38/lib/python3.8/site-packages/mmcv/runner/epoch_based_runner.py", line 136, in run
epoch_runner(data_loaders[i], **kwargs)
File "/opt/anaconda3/envs/py38/lib/python3.8/site-packages/mmcv/runner/epoch_based_runner.py", line 53, in train
self.run_iter(data_batch, train_mode=True, **kwargs)
File "/opt/anaconda3/envs/py38/lib/python3.8/site-packages/mmcv/runner/epoch_based_runner.py", line 31, in run_iter
outputs = self.model.train_step(data_batch, self.optimizer,
File "/opt/anaconda3/envs/py38/lib/python3.8/site-packages/mmcv/parallel/data_parallel.py", line 77, in train_step
return self.module.train_step(*inputs[0], **kwargs[0])
File "/tmp/pycharm_project_764/mmdet/models/detectors/base.py", line 247, in train_step
losses = self(**data)
File "/opt/anaconda3/envs/py38/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
return forward_call(*args, **kwargs)
File "/opt/anaconda3/envs/py38/lib/python3.8/site-packages/mmcv/runner/fp16_utils.py", line 146, in new_func
output = old_func(*new_args, **new_kwargs)
File "/tmp/pycharm_project_764/mmdet/models/detectors/base.py", line 181, in forward
return self.forward_train(img, img_metas, **kwargs)
File "/tmp/pycharm_project_764/mmdet/models/detectors/two_stage.py", line 142, in forward_train
x = self.extract_feat(img)
File "/tmp/pycharm_project_764/mmdet/models/detectors/two_stage.py", line 82, in extract_feat
x = self.backbone(img)
File "/opt/anaconda3/envs/py38/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
return forward_call(*args, **kwargs)
File "/tmp/pycharm_project_764/mmdet/models/backbones/litv2.py", line 631, in forward
x_out, H, W, x, Wh, Ww = layer(x, Wh, Ww)
File "/opt/anaconda3/envs/py38/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
return forward_call(*args, **kwargs)
File "/tmp/pycharm_project_764/mmdet/models/backbones/litv2.py", line 481, in forward
x_down, Wh, Ww = self.downsample(x, H, W)
File "/opt/anaconda3/envs/py38/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
return forward_call(*args, **kwargs)
File "/tmp/pycharm_project_764/mmdet/models/backbones/litv2.py", line 387, in forward
_, _, new_H, new_W = x.shape
AttributeError: 'tuple' object has no attribute 'shape'

Hi @KDAkasa, thanks for using our code. I've just updated LITv2 detection scripts with the latest version of MMDetection (v0.3.2). Please feel free to have a try.

I found the following solution and made changes to the code, I hope you can adopt it：
class DTM(nn.Module):
r""" Deformable Token Merging.
Link: https://arxiv.org/abs/2105.14217

Args:
    input_resolution (tuple[int]): Resolution of input feature.
    dim (int): Number of input channels.
    norm_layer (nn.Module, optional): Normalization layer.  Default: nn.LayerNorm
"""

def __init__(self, input_resolution, dim, norm_layer=nn.LayerNorm):
    super().__init__()
    self.input_resolution = input_resolution
    self.dim = dim
    self.kernel_size = 2
    self.stride = 2
    self.padding = 0
    self.c_in = dim
    self.c_out = dim*2
    self.dconv = DeformConv2dPack(dim, dim*2, kernel_size=2, stride=2, padding=0)
    self.norm_layer = nn.BatchNorm2d(dim*2)
    self.act_layer = nn.GELU()

def forward(self, x, H, W):
    """
    x: B, H*W, C
    """
    B, L, C = x.shape
    x = x.reshape(B, H, W, C).permute(0, 3, 1, 2).contiguous()
    x = self.dconv(x)
    # _, _, new_H, new_W = x.shape
    # x = self.act_layer(self.norm_layer(x)).flatten(2).transpose(1, 2)
    x_tensor = x[0]  # 获取张量部分
    _, _, new_H, new_W = x_tensor.shape
    x = self.act_layer(self.norm_layer(x_tensor)).flatten(2).transpose(1, 2)
    return x, new_H, new_W

I see...DTM in LITv1 will return the learned offsets for visualization purpose. But in this repo I removed it. Thanks for letting me know that!