func createPartitionServer(planExecutor itypes.PlanExecutor) *partitionServer {
	return &partitionServer{planExecutor: planExecutor, cache: make(map[string]*shuffleablePartition)}
}
createPartitionServer creates a new partitionServer
package cluster
import (
	"context"
	"fmt"
	"sync"
	pb "github.com/go-sif/sif/internal/rpc"
	itypes "github.com/go-sif/sif/internal/types"
	iutil "github.com/go-sif/sif/internal/util"
)
type partitionServer struct {
	planExecutor          itypes.PlanExecutor
	cache                 map[string]*shuffleablePartition
	cacheLock             sync.Mutex
	serializedAccumulator []byte
}
type shuffleablePartition struct {
	buff []byte
	done func()
}