A method for buffer management in a distributed database network, the method comprising: receiving, by a lower-layer buffer management entity in a first network node, data messages from a second network node, wherein at least some of the data messages are assigned to be processed by different upper-layer query processing operations of the first network node, and wherein each of the upper-layer query processing operations is configured to process data stored in a corresponding one of a plurality of working buffers; buffering the data messages in communication buffers of the first network node in accordance with priority levels associated with the data messages, wherein the priority levels associated with the data messages are based on at least one of a priority level of a corresponding upper-layer query processing operation assigned to process the corresponding data messages, and a priority level of a query associated with the corresponding data messages, and wherein data messages having different priority levels are stored in different communication buffers; and forwarding the data messages from the communication buffers to the working buffers, wherein the data messages stored in the communication buffers are not available to be processed by the upper-layer query processing operations until the data messages are forwarded from the communication buffers to the working buffers; wherein the communication buffers comprise a higher-priority communication buffer and a lower-priority communication buffer, and the method further comprises: dynamically re-allocating at least some storage capacity from the lower-priority communication buffer to the higher-priority communication buffer when an available storage capacity of the higher-priority communication buffer falls below a threshold. receiving, by a lower-layer buffer management entity in a first network node, data messages from a second network node, wherein at least some of the data messages are assigned to be processed by different upper-layer query processing operations of the first network node, and wherein each of the upper-layer query processing operations is configured to process data stored in a corresponding one of a plurality of working buffers; buffering the data messages in communication buffers of the first network node in accordance with priority levels associated with the data messages, wherein the priority levels associated with the data messages are based on at least one of a priority level of a corresponding upper-layer query processing operation assigned to process the corresponding data messages, and a priority level of a query associated with the corresponding data messages, and wherein data messages having different priority levels are stored in different communication buffers; and forwarding the data messages from the communication buffers to the working buffers, wherein the data messages stored in the communication buffers are not available to be processed by the upper-layer query processing operations until the data messages are forwarded from the communication buffers to the working buffers; wherein the communication buffers comprise a higher-priority communication buffer and a lower-priority communication buffer, and the method further comprises: dynamically re-allocating at least some storage capacity from the lower-priority communication buffer to the higher-priority communication buffer when an available storage capacity of the higher-priority communication buffer falls below a threshold.