Ayende @ Rahien

Oren Eini aka Ayende Rahien CEO of Hibernating Rhinos LTD, which develops RavenDB, a NoSQL Open Source Document Database.

Get in touch with me:

oren@ravendb.net

+972 52-548-6969

Posts: 7,399 | Comments: 50,821

Privacy Policy Terms
filter by tags archive
48posts

Production postmortem

  1. (27 Jan 2023)

    The server ate all my memory (11 hours from now)

  2. (23 Jan 2023)

    The big server that couldn’t handle the load

  3. (16 Jan 2023)

    The heisenbug server

  4. (03 Oct 2022)

    Do you trust this server?

  5. (15 Sep 2022)

    The missed indexing reference

  6. (05 Aug 2022)

    The allocating query

  7. (22 Jul 2022)

    Efficiency all the way to Out of Memory error

  8. (18 Jul 2022)

    Broken networks and compressed streams

  9. (13 Jul 2022)

    Your math is wrong, recursion doesn’t work this way

  10. (12 Jul 2022)

    The data corruption in the node.js stack

  11. (11 Jul 2022)

    Out of memory on a clear sky

  12. (29 Apr 2022)

    Deduplicating replication speed

  13. (25 Apr 2022)

    The network latency and the I/O spikes

  14. (22 Apr 2022)

    The encrypted database that was too big to replicate

  15. (20 Apr 2022)

    Misleading security and other production snafus

  16. (03 Jan 2022)

    An error on the first act will lead to data corruption on the second act…

  17. (13 Dec 2021)

    The memory leak that only happened on Linux

  18. (17 Sep 2021)

    The Guinness record for page faults & high CPU

  19. (07 Jan 2021)

    The file system limitation

  20. (23 Mar 2020)

    high CPU when there is little work to be done

  21. (21 Feb 2020)

    The self signed certificate that couldn’t

  22. (31 Jan 2020)

    The slow slowdown of large systems

  23. (07 Jun 2019)

    Printer out of paper and the RavenDB hang

  24. (18 Feb 2019)

    This data corruption bug requires 3 simultaneous race conditions

  25. (25 Dec 2018)

    Handled errors and the curse of recursive error handling

  26. (23 Nov 2018)

    The ARM is killing me

  27. (22 Feb 2018)

    The unavailable Linux server

  28. (06 Dec 2017)

    data corruption, a view from INSIDE the sausage

  29. (01 Dec 2017)

    The random high CPU

  30. (07 Aug 2017)

    30% boost with a single line change

  31. (04 Aug 2017)

    The case of 99.99% percentile

  32. (02 Aug 2017)

    The lightly loaded trashing server

  33. (23 Aug 2016)

    The insidious cost of managed memory

  34. (05 Feb 2016)

    A null reference in our abstraction

  35. (27 Jan 2016)

    The Razor Suicide

  36. (13 Nov 2015)

    The case of the “it is slow on that machine (only)”

  37. (21 Oct 2015)

    The case of the slow index rebuild

  38. (22 Sep 2015)

    The case of the Unicode Poo

  39. (03 Sep 2015)

    The industry at large

  40. (01 Sep 2015)

    The case of the lying configuration file

  41. (31 Aug 2015)

    The case of the memory eater and high load

  42. (14 Aug 2015)

    The case of the man in the middle

  43. (05 Aug 2015)

    Reading the errors

  44. (29 Jul 2015)

    The evil licensing code

  45. (23 Jul 2015)

    The case of the native memory leak

  46. (16 Jul 2015)

    The case of the intransigent new database

  47. (13 Jul 2015)

    The case of the hung over server

  48. (09 Jul 2015)

    The case of the infected cluster

12posts

Answer

  1. (05 Jan 2023)

    what does this code print?

  2. (15 Dec 2022)

    What does this code print?

  3. (07 Apr 2022)

    Why is this code broken?

  4. (20 Jan 2017)

    What does this code do?

  5. (16 Aug 2011)

    Modifying execution approaches

  6. (30 Apr 2011)

    Stopping the leaks

  7. (24 Dec 2010)

    This code should never hit production

  8. (21 Dec 2010)

    Your own ThreadLocal

  9. (11 Feb 2010)

    Debugging a resource leak

  10. (03 Sep 2009)

    The lazy loaded inheritance many to one association OR/M conundrum

  11. (04 Sep 2008)

    Don't stop with the first DSL abstraction

  12. (12 Jun 2008)

    How many tests?

71posts

Challenge

  1. (04 Jan 2023)

    what does this code print?

  2. (14 Dec 2022)

    What does this code print?

  3. (01 Jul 2022)

    Find the stack smash bug… – answer

  4. (30 Jun 2022)

    Find the stack smash bug…

  5. (03 Jun 2022)

    Spot the data corruption

  6. (06 May 2022)

    Spot the optimization–solution

  7. (05 May 2022)

    Spot the optimization

  8. (06 Apr 2022)

    Why is this code broken?

  9. (16 Dec 2021)

    Find the slow down–answer

  10. (15 Dec 2021)

    Find the slow down

  11. (03 Nov 2021)

    The code review bug that gives me nightmares–The fix

  12. (02 Nov 2021)

    The code review bug that gives me nightmares–the issue

  13. (01 Nov 2021)

    The code review bug that gives me nightmares

  14. (16 Jun 2021)

    Detecting livelihood in a distributed cluster

  15. (21 Apr 2020)

    Generate matching shard id–answer

  16. (20 Apr 2020)

    Generate matching shard id

  17. (02 Jan 2020)

    Spot the bug in the stream

  18. (28 Sep 2018)

    The loop that leaks–Answer

  19. (27 Sep 2018)

    The loop that leaks

  20. (03 Apr 2018)

    The invisible concurrency bug–Answer

  21. (02 Apr 2018)

    The invisible concurrency bug

  22. (31 Jan 2018)

    Find the bug in the fix–answer

  23. (30 Jan 2018)

    Find the bug in the fix

  24. (19 Jan 2017)

    What does this code do?

  25. (26 Jul 2016)

    The race condition in the TCP stack, answer

  26. (25 Jul 2016)

    The race condition in the TCP stack

  27. (28 Apr 2015)

    What is the meaning of this change?

  28. (26 Sep 2013)

    Spot the bug

  29. (27 May 2013)

    The problem of locking down tasks…

  30. (17 Oct 2011)

    Minimum number of round trips

  31. (23 Aug 2011)

    Recent Comments with Future Posts

  32. (02 Aug 2011)

    Modifying execution approaches

  33. (29 Apr 2011)

    Stop the leaks

  34. (23 Dec 2010)

    This code should never hit production

  35. (17 Dec 2010)

    Your own ThreadLocal

  36. (03 Dec 2010)

    Querying relative information with RavenDB

  37. (29 Jun 2010)

    Find the bug

  38. (23 Jun 2010)

    Dynamically dynamic

  39. (28 Apr 2010)

    What killed the application?

  40. (19 Mar 2010)

    What does this code do?

  41. (04 Mar 2010)

    Robust enumeration over external code

  42. (16 Feb 2010)

    Premature optimization, and all of that…

  43. (12 Feb 2010)

    Efficient querying

  44. (10 Feb 2010)

    Find the resource leak

  45. (21 Oct 2009)

    Can you spot the bug?

  46. (18 Oct 2009)

    Why is this wrong?

  47. (17 Oct 2009)

    Write the check in comment

  48. (15 Sep 2009)

    NH Prof Exporting Reports

  49. (02 Sep 2009)

    The lazy loaded inheritance many to one association OR/M conundrum

  50. (01 Sep 2009)

    Why isn’t select broken?

  51. (06 Aug 2009)

    Find the bug fixes

  52. (26 May 2009)

    Find the bug

  53. (14 May 2009)

    multi threaded test failure

  54. (11 May 2009)

    The regex that doesn’t match

  55. (24 Mar 2009)

    probability based selection

  56. (13 Mar 2009)

    C# Rewriting

  57. (18 Feb 2009)

    write a self extracting program

  58. (04 Sep 2008)

    Don't stop with the first DSL abstraction

  59. (02 Aug 2008)

    What is the problem?

  60. (28 Jul 2008)

    What does this code do?

  61. (26 Jul 2008)

    Find the bug fix

  62. (05 Jul 2008)

    Find the deadlock

  63. (03 Jul 2008)

    Find the bug

  64. (02 Jul 2008)

    What is wrong with this code

  65. (05 Jun 2008)

    why did the tests fail?

  66. (27 May 2008)

    Striving for better syntax

  67. (13 Apr 2008)

    calling generics without the generic type

  68. (12 Apr 2008)

    The directory tree

  69. (24 Mar 2008)

    Find the version

  70. (21 Jan 2008)

    Strongly typing weakly typed code

  71. (28 Jun 2007)

    Windsor Null Object Dependency Facility

7posts

Recording

  1. (12 Dec 2022)

    Software architecture with Oren Eini

  2. (17 Nov 2022)

    RavenDB in a Distributed Cloud Environment

  3. (25 Jul 2022)

    Build your own database at Cloud Lunch & Learn

  4. (15 Jul 2022)

    Non relational data modeling & Database engine internals

  5. (11 Apr 2022)

    Clean Architecture with RavenDB

  6. (14 Mar 2022)

    Database Security in a Hostile World

  7. (02 Mar 2022)

    RavenDB–a really boring database

2posts

RavenDB indexing

  1. (20 Oct 2022)

    exact()

  2. (19 Apr 2013)

    An off the cuff stat

15posts

Webinar Recording

  1. (26 Aug 2022)

    Modeling Relationships and Hierarchies in a Document Database

  2. (26 Jul 2022)

    RavenDB & Messaging Transactions

  3. (24 May 2021)

    The Rewards of Escaping the Relational Mindset

  4. (15 Jan 2021)

    Filtered Replication in RavenDB

  5. (04 Dec 2020)

    RavenDB & Your Operations Team

  6. (28 Oct 2020)

    Advanced Search Scenarios in RavenDB

  7. (27 Aug 2020)

    The App that Guarantees You're Going Out This Saturday Night

  8. (10 Jul 2020)

    Multi tenancy with RavenDB

  9. (02 Jul 2020)

    Practical indexing with RavenDB

  10. (16 Jun 2020)

    Using RavenDB as a queuing infrastructure

  11. (09 Jun 2020)

    RavenDB Polymorphism at scale

  12. (25 May 2020)

    Event sourcing and RavenDB

  13. (07 Apr 2020)

    Managing Data in Distributed Environment

  14. (06 Apr 2020)

    Building a grown up database

  15. (12 Mar 2020)

    Migrating from a Relational Database to RavenDB

32posts

re

  1. (16 Aug 2022)

    How Discord supercharges network disks for extreme low latency

  2. (02 Jun 2022)

    BonsaiDb performance update

  3. (14 Jan 2022)

    Are You Sure You Want to Use MMAP in Your Database Management System?

  4. (09 Dec 2021)

    Why IndexedDB is slow and what to use instead

  5. (23 Jun 2021)

    The performance regression odyssey

  6. (27 Oct 2020)

    Investigating query performance issue in RavenDB

  7. (27 Dec 2019)

    Writing a very fast cache service with millions of entries

  8. (26 Dec 2019)

    Why databases use ordered indexes but programming uses hash tables

  9. (12 Nov 2019)

    Document-Level Optimistic Concurrency in MongoDB

  10. (25 Oct 2019)

    RavenDB. Two years of pain and joy

  11. (19 Aug 2019)

    The Order of the JSON, AKA–irresponsible assumptions and blind spots

  12. (10 Oct 2017)

    Entity Framework Core performance tuning–Part III

  13. (09 Oct 2017)

    Different I/O Access Methods for Linux

  14. (06 Oct 2017)

    Entity Framework Core performance tuning–Part II

  15. (04 Oct 2017)

    Entity Framework Core performance tuning–part I

  16. (26 Apr 2017)

    Writing a Time Series Database from Scratch

  17. (28 Jul 2016)

    Why Uber Engineering Switched from Postgres to MySQL

  18. (15 Jun 2016)

    Why you can't be a good .NET developer

  19. (12 Nov 2013)

    Why You Should Never Use MongoDB

  20. (21 Aug 2013)

    How memory mapped files, filesystems and cloud storage works

  21. (15 Apr 2012)

    Kiip’s MongoDB’s experience

  22. (18 Oct 2010)

    Diverse.NET

  23. (10 Apr 2010)

    NoSQL, meh

  24. (30 Sep 2009)

    Are you smart enough to do without TDD

  25. (17 Aug 2008)

    MVC Storefront Part 19

  26. (24 Mar 2008)

    How to create fully encapsulated Domain Models

  27. (21 Feb 2008)

    Versioning Issues With Abstract Base Classes and Interfaces

  28. (18 Aug 2007)

    Saving to Blob

  29. (27 Jul 2007)

    SSIS - 15 Faults Rebuttal

  30. (29 May 2007)

    The OR/M Smackdown

  31. (06 Mar 2007)

    IoC and Average Programmers

  32. (19 Sep 2005)

    DLinq Mapping

7posts

High performance .NET

  1. (19 Jul 2022)

    Building a Redis Clone–Analysis II

  2. (27 Jun 2022)

    Building a Redis Clone – skipping strings

  3. (20 Jun 2022)

    Building a Redis Clone– the wrong optimization path

  4. (13 Jun 2022)

    Building a Redis Clone–separation of computation & I/O

  5. (10 Jun 2022)

    Building a Redis Clone–Architecture

  6. (09 Jun 2022)

    Building a Redis Clone–Analysis

  7. (08 Jun 2022)

    Building a Redis Clone–naively

2posts

Upcoming webinar

  1. (14 Jul 2022)

    Involving RavenDB in your Messaging Transactions

  2. (19 Aug 2020)

    Getting a peaceful date night with RavenDB

2posts

Request for comments

  1. (10 Mar 2022)

    Removing graph queries from RavenDB

  2. (10 Oct 2008)

    Changing the way dynamic mocks behave in Rhino Mocks

FUTURE POSTS

  1. Production postmortem: The server ate all my memory - 11 hours from now

There are posts all the way to Jan 27, 2023

RECENT SERIES

  1. Production postmortem (48):
    23 Jan 2023 - The big server that couldn’t handle the load
  2. Answer (12):
    05 Jan 2023 - what does this code print?
  3. Challenge (71):
    04 Jan 2023 - what does this code print?
  4. Recording (7):
    12 Dec 2022 - Software architecture with Oren Eini
  5. RavenDB Indexing (2):
    20 Oct 2022 - exact()
View all series

Syndication

Main feed Feed Stats
Comments feed   Comments Feed Stats