Tested on a stock Ubuntu 22.04 AMI.
sudo apt update
sudo apt install ./emqx-ee-4.4.17-otp24.3.4.2-1-ubuntu22.04-amd64.deb
sudo systemctl restart emqx
curl -f "127.0.0.1:8081/api/v4/emqx_prometheus?type=prometheus"
| > emqx_topicidx_bench:run(fixed). | |
| Orig: [{memory,534}, | |
| {name,emqx_topic_index_r52}, | |
| {size,15}, | |
| {type,ordered_set}, | |
| {keypos,1}, | |
| {protection,public}] | |
| Head: [{memory,504}, | |
| {name,emqx_topic_index}, | |
| {size,15}, |
| % | |
| % Run on Erlang 24+ | |
| % | |
| % (MFatags true is to enable instrumentation for fix_alloc) | |
| % | |
| % $ erl -name n1@127.0.0.1 +MFatags true | |
| % (n1@127.0.0.1)> | |
| % | |
| % $ erl -name n2@127.0.0.1 +MFatags true | |
| % (n2@127.0.0.1)2> c(fixalloc), fixalloc:go('n1@127.0.0.1'). |
Branch: master attempts max: 8 : https://api.github.com/repos/emqx/emqx/actions/runs/5136332850 Generated at 2023-06-01 16:09:31.526180
| suite | case | total failed times |
|---|---|---|
| emqx_bridge_kafka_impl_consumer_SUITE | sasl_plain.sasl_auth_kerberos.t_start_and_consume_ok | 6 |
| emqx_bridge_kafka_impl_consumer_SUITE | sasl_ssl.sasl_auth_kerberos.t_start_and_consume_ok | 5 |
| emqx_bridge_cassandra_SUITE | tls.async.with_batch.t_write_failure | 5 |
| emqx_bridge_pulsar_impl_producer_SUITE | plain.t_send_when_down | 5 |
| emqx_ee_bridge_redis_SUITE | rest.t_check_replay | 5 |
This page describes how to create a new minor release of EMQX Enterprise Edition and test that hot upgrading from the previous minor release to the current one works. The steps to do the same for EMQX Community Edition should be very similar.
APP_NAME.app.src files for the apps that have changed. For example, if the emqx_rule_actions has changed, then bump the version number under the vsn property in lib-ee/emqx_rule_actions/src/emqx_rule_actions.app.src. If the previous version number was "4.4.5" then the new one should be "4.4.6".vsn property in the file src/emqx.app.src. If the previous version number was "4.4.5" then the new one should be "4.4.6".include/emqx_release.hrl. The version numbers in include/emqx_release.hrl should be the same as in `src/e| -module(bin_element). | |
| -export([run/1]). | |
| -define(CHUNK_SIZE, 1049). | |
| run(Chunks) -> | |
| BinL = [crypto:strong_rand_bytes(?CHUNK_SIZE) || _ <- lists:seq(1, Chunks)], | |
| TotalBytes = ?CHUNK_SIZE * Chunks, | |
| compare([hd(BinL) | BinL], TotalBytes). |
| {-# LANGUAGE ApplicativeDo #-} | |
| {-# LANGUAGE BlockArguments #-} | |
| {-# LANGUAGE DeriveFunctor #-} | |
| {-# LANGUAGE DerivingStrategies #-} | |
| {-# LANGUAGE GeneralizedNewtypeDeriving #-} | |
| {-# LANGUAGE UndecidableInstances #-} | |
| module HasCal where | |
| import Control.Applicative (Alternative(..), liftA2) |
| // The Most Memory Safe Buffer Overflow in Rust! | |
| // | |
| // Consider all the code below under Public Domain | |
| // | |
| // How to build: | |
| // $ rustc main.rs | |
| // | |
| // Wrong password: | |
| // $ printf "hello\n" | ./main | |
| // |
| ---- MODULE BubbleSort ---- | |
| EXTENDS Integers, TLC, Sequences, FiniteSets | |
| Counter(seq) == | |
| LET | |
| Range == {seq[x] : x \in DOMAIN seq} | |
| CountOf(x) == Cardinality({i \in 1..Len(seq): seq[i] = x}) | |
| IN | |
| [val \in Range |-> CountOf(val)] |
Going line by line:
b =: >: i. 9 9 9This generates a 9 by 9 by 9 array with all values from 1 to 729. We can choose what each axis represents: I decided that each table is all of the boolean variables for one number, and the rows and columns map to sudoku rows and columns. For example: