Опубликованы корректирующие выпуски СУБД Redis (6.2.19, 7.2.10, 7.4.5, 8.0.3) и Valkey (8.0.4, 8.1.3), в которых устранены две уязвимости. Наиболее опасная уязвимость (CVE-2025-32023) потенциально может привести к удалённому выполнению кода на сервере из-за записи данных в область за пределами выделенного буфера. Для эксплуатации уязвимости атакующий должен иметь возможность отправки команд в СУБД...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=63537
https://www.opennet.dev/opennews/art.shtml?num=60808 надо - там такого нету.
> https://www.opennet.dev/opennews/art.shtml?num=60808 надо - там такого нету.Там все намного хуже:
> Проект написан на языке C#
Это сразу черная метка.
C 73.5%
Tcl 24.8%
Python 0.5%
CMake 0.3%
Ruby 0.3%
Makefile 0.3%
Other 0.3%Что ты несешь, блин?
https://github.com/microsoft/garnet
C# 98.4%
C++ 1.0%
PowerShell 0.5%
JavaScript 0.1%
CMake 0.0%
CSS 0.0%
C# не приговор, это одна из немногих вещей, которую не угробили, возможно лучшая платформа среди подобных на сегодняа вот Майкрософт - да, черная метка
поэтому я с дотнетом хоть и работаю, но сижу в ожидании какого-то сюрприза
не угробили, но очень сильно стремятся к этому =)
сейчас основная ставка на TypeScript
>> Проект написан на языке C#
>Это сразу черная метка.А мужики и не знали. C# это в принципе лучший язык на сегодняшний день
А ничего что сам Мелкософт говорит что Гарнет не замена Редиски?
Говорит? Если говорит, то правильно говорит. В плане производительности redis болтается где-то в погрешности у garnet.
> В плане производительности redis болтается где-то в погрешности у garnet.Какие у вас прецизионные результаты... но в попугаях оно точнее будет
>> В плане производительности redis болтается где-то в погрешности у garnet.
> Какие у вас прецизионные результаты... но в попугаях оно точнее будетНу держи, сравнивай, челюсть только придерживай:
https://anonpaste.com/share/garnet-1078-801ed06641
https://anonpaste.com/share/redis-803-2b9e0e8b94
> Ну держи, сравнивай, челюсть только придерживай:И что, ничего не смущает мелкософтного фанбоя ?
Ну хотя бы чуть-чуть? В 60 раз разница ничего не посдказывает, что что-то не так?
Вопросики:
- Гарнет процессировал там что-то, в том плане также как и редиска или пропускал сохранение памяти?
- Гарнет делал что-то реально, как типа компрессию, eviction
- Гарнет правда возвращал не фэйковые данные, парсил там, ключи процесил
- Вы проверили, гарнет сохранял данные?
- На счет ключика --pipeline=64 это конечно круто сравнивать мультитредовый гарнет который еще походу и с async с single-threaded редиской, вы сравнивайте чтоб честно с 7+ версиями редиски или с кластером чтоб честно было
- Вы top/htop не смотрели сколько корок юзал гарнет и редиска во время тестов?
- Вы после тестов, перепроверили наличие и валидность тех же самых ключей ?Сделайте честный тест, с pipelining=1, сравните ЦПУ загрузку и пожираемую память в течении тестов и обязательно активируйте логи у гарнета и проверьте что он там на самом деле исполнял.
Сравните с 7+ редиской с ключиками --io-threads 8 --io-threads-do-reads yesГоворить что система изпользуемая широко в продакшен с оффициально экспериментальным и оффициально не готовым к продакшен... как то не серьезно, если еще учесть MONO чудеса под никсами, то чудо от ЕЕЕ пока пусть постоит в стороне от боевых задач
>> Ну держи, сравнивай, челюсть только придерживай:
> И что, ничего не смущает мелкософтного фанбоя ?Здесь ты сразу капитально промазал.
> Ну хотя бы чуть-чуть? В 60 раз разница ничего не посдказывает, что
> что-то не так?Нет там ничего не так и разница может быть в 100 раз больше, если поменять отношение запись/чтение на 2:1.
> Вопросики:
> - Гарнет процессировал там что-то, в том плане также как и редиска или пропускал сохранение памяти?redis не дампил память: "--logfile "" --save "" --appendonly no --protected-mode no --io-threads 64 --io-threads-do-reads yes --maxclients 400000"
> - Гарнет делал что-то реально, как типа компрессию, eviction
нет, ни garnet ни redis не занимались этим, датасет формируемый memtier_benchmark в ходе теста маленький, что-бы этим озадачиваться.
> - Гарнет правда возвращал не фэйковые данные, парсил там, ключи процесил
да. познакомься с memtier_benchmark, выясни как он работает.
> - Вы проверили, гарнет сохранял данные?
да. garnet умеет сохранять данные.
> - На счет ключика --pipeline=64 это конечно круто сравнивать мультитредовый гарнет который еще походу и с async с single-threaded редиской, вы сравнивайте чтоб честно с 7+ версиями редиски или с кластером чтоб честно было
> - Вы top/htop не смотрели сколько корок юзал гарнет и редиска во время тестов?Выше параметры запуска redis приведены.
Суть в том, что garnet может железку использовать по полной, без всяких танцев с бубном, а redis не может даже со всеми танцами. Т.е. redis неэффективное однопоточное легаси.
И если сравнивать кластер redis, то тоже с кластером garnet. Уже же осознаешь, что TCO не в пользу redis совсем.> - Вы после тестов, перепроверили наличие и валидность тех же самых ключей ?
Ключи там где должны быть и те которые должны быть.
> Сделайте честный тест, с pipelining=1, сравните ЦПУ загрузку и пожираемую память в течении тестов и обязательно активируйте логи у гарнета и проверьте что он там на самом деле исполнял.
Пересмотри внимательно результаты теста по приведённым ссылкам - там есть и без pipeline и тест scan'а
По нагрузке тебе уже очевидно должно быть - не загрузит redis хост - не умеет он этого.> Сравните с 7+ редиской с ключиками --io-threads 8 --io-threads-do-reads yes
Шире глаза - применённые версии софтин указаны по ссылкам.
> Говорить что система изпользуемая широко в продакшен с оффициально экспериментальным и оффициально не готовым к продакшен... как то не серьезно, если еще учесть MONO чудеса под никсами, то чудо от ЕЕЕ пока пусть постоит в стороне от боевых задач
Говорить что?
Что redis это кусок неустойчивого говна, который очень занятно падает при росте частот процессоров и росте нагрузки. И всё что сделали разработчики, это просто подвигали дальше граничные значения, при которых он перестаёт падать, вместо исправления логики, покопайся в багтрегкере, коде и git логах начиная с версий 2.x.Что до garnet в prod:
# redis-cli info
# Server
garnet_version:1.0.54
os:Unix 5.15.131.2
processor_count:336
arch_bits:64
uptime_in_seconds:14670109
uptime_in_days:169
monitor_task:enabled
monitor_freq:1
latency_monitor:enabled
...
# Stats
total_connections_active:12596
total_connections_received:189781878
total_connections_disposed:189769282
total_commands_processed:1812742795078
instantaneous_ops_per_sec:81454
total_net_input_bytes:118194374735117
total_net_output_bytes:288490375820307
instantaneous_net_input_KBps:7774.98
instantaneous_net_output_KBps:10515.87
total_pending:0
total_found:335990100935
total_notfound:3683364689
garnet_hit_rate:98.92
total_cluster_commands_processed:0
total_write_commands_processed:369575649196
total_read_commands_processed:668649952410
total_number_resp_server_session_exceptions:6
...
# Memory
system_page_size:4096
...
proc_private_memory_size:47448870912
proc_private_memory_size(MB):45250
> к удалённому выполнению кода на сервере из-за записи
> данных в область за пределами выделенного буфера.Проблема вызвана ошибкой в src/hyperloglog.c
Ха-ха, классик. Ничего нового.
Не пристало самураю жаловаться на остроту его меча!
Таков путь.
Над чем смеетесь? Над собой смеетесь!
Смеёшься что не смог переписать на Раст?
Микрософт уже переписали на C# - тоже безопасный язык.
> Микрософт… и безопасный…шутите?
Где шутка? В том что нельзя абьюзить переполнеине стека? Или в том, что язык очень даже человеко-читаемый, в отличии от C/C++, и когда проггер с сопоставимыми навыками и знаниями кодит на нём - у него вероятность ошибки ниже на 2 порядка...
шутка в том что .Net от мелкомягких безопасный и следовательно “китайская” копия написанная “си-тюрьма” будет неуязвимой в отличии от оригинала.а рассуждения про сферических прогеров с сопоставимыми навыками оставьте для курсовых и дипломных работ
ниже keydon набросил про безопасные ЯП ))
А до этого еще безопасная джава была (привет андройд). И безопасный js (привет веб 2000ых). Теперь вот безопасный раст (привет карго).
Java и JS не подходят для системно-серверной разработки от слова совсем. Серверное ПО на них писать такое себе.
У JS проблема в том, что он однопоточный и медленный, либо ооочень большие накладные расходы.
У Java в лимите памяти, и тоже не особо шустрый, да и вообще он уже легаси, которое не очень стремятся переделывать, такая совместимость с одной стороны круто, с другой - бич прогресса. Нет смысла начинать что-то новое на Java, а где он остался - хорошо себя чувствует.
Rust - очень специфичный язык, но комьюнити, на котором всё держится - от него брыкается.
Я бы ещё добавил Go, но у него своя специфика обработки ошибок, СУБД или что-то подобное на нём писать - потенциально опасно.
У Dlang - комьюнити слабое.
Python - синтаксически язык ужасен и не позволяет написать что-то большее чем AttachCPPLibrary()
Остаются всякие богомерзкие Ruby, Perl'ы...
И C# который по дефолту безопасен, хорошо оптимизируется (от версии к версии), позволяет писать проекты на десятки миллионов строк кода без учёта nuget (в один бинарник). Когда завезут полноценный натив с дженериками - будет бомба. Пока у него только 2 больший минуса, которые когда-то были плюсом - JIT и GC (JIT пора дать возможность отключать, нативная компиляция пока багнутая, бывает выстреливает с некоторыми конструкциями, а GC - это уже тихий ужас, чем больше проект, тем он медленнее и тупее, а на Linux JIT+GC при контроллируемой пользователем runtime-компиляцией могут породить утечку памяти)
Нормально всё с JIT и GC в C# - Garnet это отлично демонстрирует.
> А до этого еще безопасная джава была (привет андройд). И безопасный js
> (привет веб 2000ых). Теперь вот безопасный раст (привет карго).Кроме rust, go и cpp, всё остальное, глупо сравнивать с c#.
> Проблема вызвана ошибкой в реализации ... для приблизительного подсчётаХа-ха-ха! Это пять!
Причина тряски?
Слово знакомое увидел.
Твой ник увидел. И не может содержаться от смеха.
> алгоритм HyperLogLog для приблизительного подсчёта уникальных элементов
> приблизительногокидали бы про rand, чего уж там мелочится
можно на всякий случай проверить на кубике d20, а лучше на d100!
Экспертиза опеннет на марше. Что такое HLL и для чего он нужен не знают, но мнение имеют.Осталось два месяца.
Интересно, они в курсе от такой вещи как тесты?
Ну типа написать тест, который будет скармливать разные виды строк.
Или даже фаззинг натравить.
Ты хочешь оплатить работу человека, который это все сделает? То что ты говоришь хорошо только в идеальном мире.
Проекты опенсорсные, так что можно ничего не оплачивать, а просто стать тем человеком, который всё это сделает и отправит PR.
нельзя, для этого надо не щупать одногруппниц на лекции второго курса про "тесты", а кодить уметь. (А когда, если вдруг, кодить научится - узнает печальную новость что тестами эту проблему не решить.)
Да, потому что она решается только выкидываением устаревшего рантайма ("C" не так сильно устарел, как его рантайм с опасными функциями).
> для этого надо не щупать одногруппниц на лекции второго курса про "тесты", а кодить уметьНе надо грязи, на те специальности где тесты и кодить одногруппниц не бывает. А те, 3,5 исключения, что туда по ошибке заблудились — лучшая реклама целибата, ты их сам щупать не захочешь. Так что дело за малым: сесть и накодить тестов, фаззинга, приправить статическими анализаторами и попытаться убедить «матёрых»™ «программистов»™ вмержить этот балаган в мастер^Wмэйн.
> Не надо грязи, на те специальности где тесты и кодить одногруппниц не бывает.тьфуй, мерзость какая. Сплошная запрещенная в рф экстримисская пропаганда у вас получается!
Не, если фаззинг принесет им в клювике готовый баг - убеждать ни в чем будет не надо, просто показывай как есть, исправят, как в любом относительно живом проекте, а эти - живые. (совершенно необязательно чтобы баг был уязвимостью)
Но обычно лапки мешают что-то обнаружить этим мастерам, знающим кунфу, джиуджитсу и еще много страшных слов.
> Не надо грязи, на те специальности где тесты и кодить одногруппниц не бывает.Чё ты звездишь то?! Оне больше нехотят в итердевочки, оне тоже хотят войтивойти(С) - потому как там деньги есть^W были :)
Так что в ИТ факультетах студенток вполневдувабельного типа - полно, просто на 3адpoтoв типа тебя им не интересно :-Р
:-)
>> Не надо грязи, на те специальности где тесты и кодить одногруппниц не бывает.
> Чё ты звездишь то?! Оне больше нехотят в итердевочки, оне тоже хотят
> войтивойти(С) - потому как там деньги есть^W были :)мне кажется, это на другом потоке.
Вон, запрещенными сетями принесло:
Вакансии в компании ***- Influencer Marketing Manager (3+ years)
- Biz-Dev Financial Analyst (2-5 years)
- Data Analyst (2+ years)
- Senior PPC Manager (4+ years)но эти тебе никакие тесты не напишут, а напишет за них ии - не будут знать куда тот тест совать.
Акстись, аноним. Тесты делаются через ИИ за полчаса. За $20 в месяц.
> Акстись, аноним. Тесты делаются через ИИ за полчаса. За $20 в месяц.и чего ж это ты еще не сделал?
Ты меня перепутал с разработчиками Редиса. В своих проектах сделал.
да кому твои хеловроты интересны?
То есть у тебя ноль успехов в проектах размером с редис, но ты точно знаешь что твои наляпанные с помощью ИИ тесты найдут любую ошибку в коде которого ты не понимаешь.
"Верить в себя, не видеть препятствий..."
А вон тот человек, время которого нужно оплатить - он бы тестами нашёл любую ошибку в коде? Даже авторы этого кода её не нашли. Или им недостаточно заплатили? Ты хоть смотри на чьо отвечаешь.Если тесты может написать человек, а не написал он только потому, что времени у него нет, то и ИИ тебе такие тесты напишет. За полчаса. За $20 в месяц. Поэтому "заплати за время человека" - это уже в наше время бредни, про что и было сказано.
Если же ты предлагаешь заплатить за время исследователя, который в сишной помойке уязвимости ищет - это другая задача. Но её тоже можно попробовать решить за те же $20.
> А вон тот человек, время которого нужно оплатить - он бы тестами нашёл любую ошибку в
> коде?хахахаха! Как можно сомневаться-то, вон выпускник заборостроительного техникума с парой хеловротов совершенно уверен, что тесты нужны для нахождения подобных ошибок в коде.
> то и ИИ тебе такие тесты напишет.
тоже нет. От живого человека, объевшегося грибочков, и то больше толку, чем от того что тебе понапишет ИИ.
> Если же ты предлагаешь заплатить за время исследователя, который в сишной помойке
> уязвимости ищет - это другая задача. Но её тоже можно попробовать решить за те же $20.не, по вторникам не подаю.
Тут уже лексика человека, который ничего точно никогда в жизни не найдет.
Просто фантазирует.Но ты можешь заработать $20 если покажешь промпт, находящий в старом коде эту, уже известную проблему. (нет, разумеется, нельзя пользоваться знаниями о том где она найдена и в чем заключается)
Акстись, аноним ты в своем городе никогда не заработаешь такие деньжищи.
> Акстись, аноним ты в своем городе никогда не заработаешь такие деньжищи.да я готов одолжить, только ведь хрен он и с "деньжищами" чего сможет.
Будущее за ИИ-языками. Не просто ИИ-агент-копилот, как сейчас, а полноценный ИИ, но оформленный в виде языка. На этапе компиляции он сможет писать и прогонять все возможные тесты, сможет обеспечить безопасную работу с памятью(вставить проверки на длину массива там где это нужно, например при обработке ввода, а не везде подряд, т.е. банальные итераторы статичного массива известной длины с минимальным счетчиком), а главное будет способен избавить код от алгоритмических ошибок, например путем "мысленных экспириментов".
Хз, ведуться ли работы в этом направлении, но вот так вижу будущее разработки.
Только вот "ии" не умеет в мысленные эксперименты. Даже когда он тебе описывает последовательность рассуждений - это все та же бредогенерация. Он не рассуждает, он сразу генерит готовый ответ. Иногда правильный.Поэтому получится у тебя примерно как в анекдоте про "как собирают корабли в бутылке? - Насыпают в бутылку палок и ниток, наливают клей и трясут. Получается разная хрень. Иногда - корабль."
Фрипластелины, пошедшие в Газу маршрутом, набредогенеренным им АИ (поскольку сами они в географии - примерно как местные специалисты в кодинге) не дадут соврать.
Ну как раз таки в мысленные эксперименты он уже умеет, сейчас это уже не просто нейронка с множеством слоёв, а отдельные модули, общающиеся между собой, и например у Gemini есть специальный модуль обратной связи, который проверяет полученный ответ, прежде чем вернуть пользователю и может самостоятельно решить зайти с другой стороны, рассмотреть другие варианты, отклониться от поставленной задачи и прощупать граничные условия. Разве это не оно? Вот DeepSeek - да, это генератор лютого бреда. А GPT скорее сгаллюцинирует понравившийся тебе ответ, если у него нет корректного ответа.
Нейронки развиваются очень быстро, на примере Google Veo: ещё 2 месяца назад Veo генерировал видео, но не умел генерить текстовые надписи в этом видео, как будто несколько надписей наложили друг на друга, 2 недели назад уже было что-то похожее на текст, но как будто символы из разных языков в слове, но можно было иногда прочитать, вчера уже увидел видео, где текст максимально корректный, даже с учётом пространственного положения вещи с надписью, которая между прочем двигалась и сжималась (ткань).
> Разве это не оно?именно потому и не оно. Ты ж не проверяешь свои рассуждения косвенными способами "а не наглючил ли я их целиком?" И не кодишь на языке которого не знаешь, выдумывая на ходу синтаксис (или дергая вызовы библиотеки которую не потрудился изучить - придумывая их вместо того чтоб прочитать наконец инструкцию - "а вдруг там и правда такой окажется").
Но зато начало автоматизировать тот самый процесс - "дура, что ты мне набредила, это не так работает же ж!"> А GPT скорее сгаллюцинирует понравившийся тебе ответ, если у него нет корректного ответа.
любая модель так работает - чем сомнительней (для нее) задача, тем больше вероятность что ответ будет совершенно бредовым.
(но, кстати, странно что дикпик, обучавшийся в том числе на предыдущих моделях, худший из всех. То ли китайский цензор помешал, то ли вот что...)
Так я не зря написал про будущее. Сейчас может и не могут(хотя это дискуссионная тема), а к 2050 или вообще - к концу столетия может и смогут - если развитие нейронок продолжится эксплненциально и если такой рост вообще будет(а не застлпорится/начнет дешрадировать).
Garnet не затрагивает - я спокоен.