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 [email protected] +MFatags true | |
% ([email protected])> | |
% | |
% $ erl -name [email protected] +MFatags true | |
% ([email protected])2> c(fixalloc), fixalloc:go('[email protected]'). |
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 9
This 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: