From 7ecabf8a297d7ca060e9e70f30c3024dfe783b43 Mon Sep 17 00:00:00 2001
From: TYLER CARAZA-HARTER <tharter@cs544-tharter.cs.wisc.edu>
Date: Fri, 21 Feb 2025 21:14:32 -0600
Subject: [PATCH] rollback p3 spec to s25

---
 p3/README.md                 | 320 ++++++++++++++---------------------
 p3/bigdata.py                |  27 +++
 p3/client.py                 |  57 -------
 p3/csvsum.py                 |  24 +++
 p3/docker-compose.yml        |  14 --
 p3/file2.csv                 |   4 -
 p3/parquetsum.py             |  24 +++
 p3/plot.png                  | Bin 92411 -> 0 bytes
 p3/purge.txt                 |   1 -
 p3/{file1.csv => simple.csv} |   0
 p3/upload.py                 |  23 +++
 p3/workload.txt              |   6 -
 12 files changed, 228 insertions(+), 272 deletions(-)
 create mode 100644 p3/bigdata.py
 delete mode 100644 p3/client.py
 create mode 100644 p3/csvsum.py
 delete mode 100644 p3/docker-compose.yml
 delete mode 100644 p3/file2.csv
 create mode 100644 p3/parquetsum.py
 delete mode 100644 p3/plot.png
 delete mode 100644 p3/purge.txt
 rename p3/{file1.csv => simple.csv} (100%)
 create mode 100644 p3/upload.py
 delete mode 100644 p3/workload.txt

diff --git a/p3/README.md b/p3/README.md
index 86c5269..14b1757 100644
--- a/p3/README.md
+++ b/p3/README.md
@@ -1,253 +1,193 @@
-# P3 (4% of grade): Large, Thread-Safe Tables
+# DRAFT!  Don't start yet.
 
-# DRAFT: DO NOT START
+# P3 (4% of grade): Large, Thread-Safe Tables
 
 ## Overview
 
-In this project, you'll build a server that handles the uploading of CSV files, storing their contents, and performing query operations on the data. The server maintains **only ONE** logical table. You should think of each uploaded CSV as containing a portion of that larger table, which grows with each upload.
-
-The server will write two files for each uploaded CSV file: one in CSV format and another in Parquet (i.e., they are two copies of the table in different formats). Clients that we provide will communicate with your server via RPC calls.
-
-### Workflow and Format Walkthrough
-
-In P3, our `client.py` takes in a batch of operation commands stored in file `workload.txt` and executes them line by line. There are two types of commands you can put into `workload.txt` to control the client behavior. First, each *upload* command:
-
-```
-u file.csv
-```
-
-will instruct the client to read a CSV data file named `file.csv` as binary bytes, and use the corresponding RPC call to upload it to the server. Next, you can use a subsequent *sum* command to perform summation to the table over one specified column. For example:
-
-```
-s p x
-```
-
-asks the client to send an RPC request to the server and instruct the server to return the total sum value of column `x`. As there are two copies of the same table in `CSV` and `Parquet` format, `p` in the command asks the server to read column data only from `Parquet` files. Below is a minimal example. Assume that the `server` has uploaded two files `file1.csv` and `fil12.csv`, which contain these records respectively:
-
-```
-x,y,z
-1,2,3
-4,5,6
-```
-
-And:
+In this project, you'll build a server that handles the uploading of
+CSV files, storing their contents, and performing operations on the
+data.  You should think of each CSV upload as containing a portion of
+a larger table that grows with each upload.
 
-```
-x,y
-5,10
-0,20
-10,15
-```
-
-You can assume columns contain only integers. You should be able to upload the files and do sums with the following `workload.txt` description:
-
-```
-u file1.csv
-u file2.csv
-s p x
-s p z
-s c w
-```
-
-Expected ouptut would be:
-
-```
-20
-9
-0
-```
-
-Inspect both the `workload.txt` file content and client code (i.e., `read_workload_file()`) to understand how each text command leads to one `gRPC` call. A separate `purge.txt` workload file is provided and *should not be modified*. The client can use a RPC call `Purge()` to reset the server and remove all files stored by the remote peer.
+The server will write two files for each uploaded CSV file: one in CSV
+format and another in Parquet. Clients that we provide will
+communicate with your server via RPC calls.
 
 Learning objectives:
-* Implement logic for uploading and processing CSV and Parquet files.
-* Perform computations like summing values from specific columns.
-* Manage concurrency with locking in multi-threading server/client.
-* Benchmark a server/client system and visualize the results.
+* Implement logic for uploading and processing CSV and Parquet files
+* Perform computations like summing values from specific columns
+* Manage concurrency with locking in a multi-threaded server
 
 Before starting, please review the [general project directions](../projects.md).
 
 ## Clarifications/Corrections
 
-* None yet
+* none yet
 
-## Part 1: Communication (gRPC)
+## Part 1: Communication
 
-In this project, the client program `client.py` will communicate with a server, `server.py`, via gRPC. We provide starter code for the client program. Your job is to write a `.proto` file to generate a gRPC stub (used by our client) and servicer class that you will inherit from in server.py.
+In this project, three client programs (upload.py, csvsum.py, and
+parquetsum.py) will communicate with a server, server.py, via gRPC.
+We provide the client programs.  Your job is to write a .proto to
+generate a gRPC stub (used by our clients) and servicer class (that
+you will inherit from in server.py).
 
-Take a moment to look at code for the client code and answer the following questions:
+Take a moment to look at code for the three client programs and answer
+the following:
 
-* what are the names of the imported gRPC modules?  This will determine what you name your `.proto` file.
-* what methods are called on the stubs?  This will determine the RPC definitions in your `.proto` file.
-* what arguments are passed to the methods, and what values are extracted from the return values? This will determine the fields in the messages in your `.proto` file.
-* what port number does the client use? This will determine the port that the gRPC server should expose.
+* what are the names of the imported gRPC modules?  This will determine what you name your .proto file.
+* what methods are called on the stubs?  This will determine the RPC calls in your .proto
+* what arguments are passed to the methods, and what values are extracted from the return values?  This will determine the fields in the messages in your .proto
+* what port number do the clients use?  This will determine the port that the server should use.
 
-Write a `.proto` file based on your above observations and run the `grpc_tools.protoc` compiler to generate stub code for our client and servicer code for your server. All field types will be strings, except `total` and `csv_data`,which should be `int64` and `bytes` respectively.
+Write a .proto file based on your above observations and run the
+grpc_tools.protoc tool to generate stub code for our clients and
+servicer code for your server.  All field types will be strings,
+except `total` and `csv_data`, which should be `int64` and 
+`bytes` respectively.
 
-Now build the .proto on your VM. Install the tools like this:
+Now build the .proto on your VM.  Install the tools like this:
 
-```bash
+```sh
 python3 -m venv venv
 source venv/bin/activate
-pip3 install grpcio==1.70.0 grpcio-tools==1.70.0 protobuf==5.29.3
+pip3 install grpcio==1.66.1 grpcio-tools==1.66.1 numpy==2.1.1 protobuf==5.27.2 pyarrow==17.0.0 setuptools==75.1.0
 ```
 
-Then use `grpc_tools.protoc` to build your `.proto` file.
+Then use `grpc_tools.protoc` to build your .proto file.
 
-In your server, override the *three* RPC methods for the generated servicer. For now, the methods do nothing but returning messages with the error field set to "TODO", leaving any other field unspecified.
+In your server, override the two RPC methods for the generated
+servicer.  For now, you can just return messages with the error field
+set to "TODO", leaving any other field unspecified.
 
-If communication is working correctly so far, you should be able to start a server and used a client to get back a "TODO" error message via gRPC:
+If communication is working correctly so far, you should be able to
+start a server and used a client to get back a "TODO" error message
+via gRPC:
 
-```bash
-python3 -u server.py &> log.txt &
-python3 client.py workload.txt
-# should see multiple "TODO"s
 ```
-
-Create a `Dockerfile.server` to build an image that will also let you run your server in a container.  It should be possible to build and run your server like this:
-
-```bash
-docker build . -f Dockerfile.server -t ${PROJECT}-server
-docker run -d -m 512m -p 127.0.0.1:5440:5440 
+python3 -u server.py &> log.txt &
+python3 upload.py simple.csv
+# should see "TODO"
 ```
 
-Like P2, the compose file assumes a "PROJECT" environment variable. You can set it to p3 in your environment with (the autograder may use another prefix for testing):
+Create a Dockerfile to build an image that will also let you run your
+server in a container.  It should be possible to build and run your
+server like this:
 
-```bash
-export PROJECT=p3
 ```
-
-The client program should then be able to communicate with the server program the same way it communicated with that outside of a container. Once your client program successfully interacts with the dockerized server, you should similarly draft a `Dockerfile.client` to build a container for `client.py`. Finally, test your setup with `docker compose`:
-
-```bash
-docker compose up -d
-docker ps
-# should see:
-CONTAINER ID   IMAGE       COMMAND                  CREATED         ...
-fa8de65e0e7c   p3-client   "python3 -u /client.…"   2 seconds ago   ...
-4c899de6e43f   p3-server   "python3 -u /server.…"   2 seconds ago   ...
+docker build . -t p3
+docker run -d -m 512m -p 127.0.0.1:5440:5440 p3
 ```
 
-**HINT:** consider writing a .sh script that helps you redeploy code changes. Everytime you modify the source code `client.py/server.py/benchmark.py`, you may want to rebuild the images, bring down the previous docker cluster, and re-instantiate a new cluster.
+The client programs should then be able to communicate with the
+Dockerized programs the same way they communicated with the server
+outside of a container.
 
-## Part 2: Server Implementation
+If you want to make code changes without rebuilding the image each
+time, consider using a volume mount to make the latest version of
+server.py on your VM replace the server.py in the file (if the server
+is not at /server.py inside the container, modify accordingly):
 
-You will need to implement three RPC calls on the server side:
-
-### Upload
-
-This method should:
-1. Recover the uploaded CSV table from *binary* bytes carried by the RPC request message.
-2. Write the table to a CSV file and write the same table to another file in Parquet format.
-
-**Requirement:** Write two files to disk per upload. We will test your server with a 512MB memory limit. Do *NOT* keep the table data in memory.
-
-**HINT 1:** You are free to decide the names and locations of the stored files. However, the server must keep these records to process future queries (for instance, you can add paths to a data structure like a list or dictionary).
-
-**HINT 2:** Both `pandas` and `pyarrow` provide interfaces to write a table to file.
-
-### ColSum
-
-Whenever your server receives a column summation request, it should loop over all the data files that have been uploaded, compute a local sum for each such file, and finally return a total sum for the whole table.
-
-The table does not have a fixed schema (i.e., it is not guaranteed that a column appears in any uploaded file). You should skip a file if it lacks the target column (e.g., z and w in the above example). The server should sum over either Parquet or CSV files according to the input `format` (not both). For a given column, the query results for format="parquet" should be the same as for format="csv", while performance may differ.
-
-### Purge
+```
+docker run --rm -m 512m -p 127.0.0.1:5440:5440 -v ./server.py:/server.py p3
+```
 
-This method facilitates testing and subsequent benchmarking. The method should:
-1. Remove all local file previously uploaded by method `Upload()`
-2. Reset all associated server state (e.g., names, paths, etc.)
+## Part 2: Upload
 
-## Part 3: Multi-threading Server/Client
+When your server receives an upload request with some CSV data, your
+program should write the CSV to a new file somewhere.  You can decide
+the name and location, but the server must remember the path to the
+file (for example, you could add the path to some data structure, like a
+list or dictionary).
 
-With the Global Interpreter Lock (GIL), commonly-used CPython does not support parallel multi-threading execution. However, multi-threading can still boost the performance of our small system (why?). In Part 3, you are required to add threading support to `client.py`, then `server.py`.
+Your server should similarly write the same data to a parquet file
+somewhere, using pyarrow.
 
-### Client
+## Part 3: Column Sum
 
-More specifically, you will need to manually create *N* threads for `client.py` (with thread management primitives come with the `threading` module) to concurrently process the provided `workload.txt`. For example, each worker thread may repeatedly fetch one command line from `workload.txt` and process it. You can load all command strings to a list, then provide thread-safe access to all launched threads (how?).
+When your server receives a column summation request, it should loop
+over all the data that has been uploaded, computing a sum for each
+file, and returning a total sum.
 
-**HINT:** Before moving to work on the `server`, test your multi-threading client by running it with a single thread:
+For example, assume file1.csv and file2.csv contain this:
 
-```bash
-python3 client.py workload.txt 1 # set to use only 1 thread
 ```
-
-### Server
-
-Now with concurrent requests sent from `client.py`, you must correspondingly protect your server from data race with `threading.Lock()`. Make sure only one thread can modify the server state (e.g., lists of names or paths). Note that you don't need to explicitly create threads for `server.py` as gRPC can do that for you. The following example code creates a thread pool with 8 threads:
-
-```python
-grpc.server(
-    futures.ThreadPoolExecutor(max_workers=8),
-    options=[("grpc.so_reuseport", 0)]
-)
+x,y,z
+1,2,3
+4,5,6
 ```
 
-**Requirement 1:** The server should properly acquire then release the lock. A single global lock is sufficient. Lock release should also work with any potential exceptions.
-
-**Requirement 2:** The server *MUST NOT* hold the lock when reading or writing files. A thread should release the lock right after it has done accessing the shared data structure. How could this behavior affect the performance?
+And this:
 
-## Part 4: Benchmarking the System
-
-Congratulations, you have implemented a minimal multi-threading data system! Let's write a small script to finally benchmark it with different scales (i.e., number of worker threads). Overall, the script is expected to perform the following tasks:
-
-1. Run `client.py` multiple times with different therading parameters, record their execution time.
-2. plot the data to visualize the performance trend.
-
-### Driving the Client
+```
+x,y
+5,10
+0,20
+```
 
-Each time `benchmark.py` should collect 4 pairs of data by running `client.py` with 1, 2, 4, and 8 thread(s). Wrap each `client.py` execution with a pair of timestamp collection. Then calculate the execution time. Make sure you always reset the server before sending the `workload.txt`, by issuing a `Purge()` command through `client.py`:
+You should be able to upload the files and do sums as follows:
 
-```bash
-python3 client.py purge
-# let sometime for the reset to complete
-time.sleep(3)
-# test follows...
+```
+python3 upload.py file1.csv
+python3 upload.py file2.csv
+python3 csvsum.py x # should print 10
+python3 csvsum.py z # should print 9
+python3 csvsum.py w # should print 0
 ```
 
-You may also want `benchmark.py` to wait a few seconds for the `server` to get ready for any client RPC requests.
-
-**HINT 1:** You can get a timestamp with `time.time()`.
+You can assume any column you sum over contains only integers, but
+some files may lack certain columns (e.g., it is OK to sum over z
+above, even though file2.csv doesn't have that column).
 
-**HINT 2:** There are multiple tools to launch a Python program from within another. Examples are [`os.system()`](https://docs.python.org/3/library/os.html#os.system) and [`subprocess.run`](https://docs.python.org/3/library/subprocess.html#subprocess.run).
+The only difference between `csvsum.py` and `parquetsum.py` is that
+they will pass the format string to your gRPC method as "csv" or
+"parquet", respectively.  Your server is expected to do the summing
+over either the CSV or parquet files accordingly (not both).  Given
+the CSVs and parquets contain the same data, running `csvsum.py x`
+should produce the same number as `parquetsum.py x`, though there may
+be a performance depending on which format is used.
 
-### Visualizing the Results
+Parquet is a column-oriented format, so all the data in a single file
+should be adjacent on disk.  This means it should be possible to read
+a column of data without reading the whole file.  See the `columns`
+parameter here:
+https://arrow.apache.org/docs/python/generated/pyarrow.parquet.read_table.html
 
-Plot a simple line graph with the execution time acquired by the previous step. Save the figure to a file called `plot.png`. Your figure must include at least 4 data points as mentioned above. You will find an example plot `plot.png` in the project repo.
+**Requirement:** when the server is asked to sum over the column of a
+Parquet file, it should only read the data from that column, not other
+columns.
 
-**HINT 1:** Feel free to any tools to plot the figure. Below is a minimal example to plot a dictionary with 2 data points:
+**Note:** we will run your server with a 512-MB limit on RAM.  Any
+individual files we upload will fit within that limit, but the total
+size of the files uploaded will exceed that limit.  That's why your
+server will have to do sums by reading the files (instead of just
+keeping all table data in memory).
 
-```python
-import pandas as pd
-data = {1: 100, 2: 200}
-series = pd.Series(data)
-ax = series.plot.line()
-ax.get_figure().savefig("plot.png")
-```
+## Part 4: Locking
 
-**HINT 2:** You can copy out a file `plot.png` from container named `test` to the current folder of host using:
+You don't need to explicitly create threads using Python calls because
+gRPC will do it for you.  Set `max_workers` to 8 so that gRPC will
+create 8 threads:
 
-```bash
-docker cp test:/plot.png plot.png
+```
+grpc.server(
+        futures.ThreadPoolExecutor(max_workers=????),
+        options=[("grpc.so_reuseport", 0)]
+)
 ```
 
-## Submission
-
-Delirable should work with `docker-compose.yaml` we provide:
-
-1. `Dockerfile.client` must launch `benchmark.py` **(NOT `client.py`)**. To achieve this, you need to copy both `client.py` and the driver `benchmark.py` to the image, as well as `workload.txt`, `purge.txt`, and the two sample input CSV files `file1.csv` `file2.csv`.
-2. `Dockerfile.server` must launch `server.py`.
+Now that your server has multiple threads, your code should hold a
+lock (https://docs.python.org/3/library/threading.html#threading.Lock)
+whenever accessing any shared data structures, including the list(s)
+of files (or whatever data structure you used). Use a single global
+lock for everything.  Ensure the lock is released properly, even when
+there is an exception. Even if your chosen data structures provide any
+guarantees related to thread-safe access, you must still hold the lock
+when accessing them to gain practice protecting shared data.
 
-**Requirement:** Do **NOT** submit the `venv` directory (e.g., use `.gitignore`).
+**Requirement:** reading and writing files is a slow operation, so
+your code must NOT hold the lock when doing file I/O.
 
 ## Tester
 
-* Autobadger for p3 not availble for use yet.
-
-Use the **autobadger** tool on your machine to run tests against your code:
-
-```bash
-autobadger --project=p3 --verbose
-```
-
-The --verbose flag will print more information to the console as your tests are running. Pushing to main will submit your project and we will grade your code on main from a remote VM. A GitLab issue should be pushed to your repository shortly after you submit.
\ No newline at end of file
+Not released yet.  Details coming soon!
\ No newline at end of file
diff --git a/p3/bigdata.py b/p3/bigdata.py
new file mode 100644
index 0000000..51624df
--- /dev/null
+++ b/p3/bigdata.py
@@ -0,0 +1,27 @@
+import grpc, sys
+import table_pb2_grpc, table_pb2
+
+SERVER = "localhost:5440"
+BATCH_COUNT = 400
+BATCH_SIZE = 250_000
+
+def main():
+    if len(sys.argv) != 1:
+        print("Usage: python3 bigdata.py")
+        sys.exit(1)
+    channel = grpc.insecure_channel(SERVER)
+    stub = table_pb2_grpc.TableStub(channel)
+
+    for batch in range(BATCH_COUNT):
+        print(f"Batch {batch+1} of {BATCH_COUNT}: 0.25 million rows")
+        rows = "x,y,z\n" + "\n".join([f"1,{i},{batch*1000+i%1000}" for i in range(BATCH_SIZE)])
+        resp = stub.Upload(table_pb2.UploadReq(csv_data=bytes(rows, "utf-8")))
+
+        if resp.error:
+            print(resp.error)
+            sys.exit(1)
+        else:
+            print("uploaded ")
+
+if __name__ == "__main__":
+    main()
diff --git a/p3/client.py b/p3/client.py
deleted file mode 100644
index 0a034ca..0000000
--- a/p3/client.py
+++ /dev/null
@@ -1,57 +0,0 @@
-import grpc, threading, os, sys
-import table_pb2_grpc, table_pb2
-
-SERVER = "localhost:5440"
-
-class TableClient:
-    def __init__(self, file, num_threads=1):
-        self.channel = grpc.insecure_channel(SERVER)
-        self.stub = table_pb2_grpc.TableStub(channel=self.channel)
-        self.num_threads = num_threads
-        self.read_workload_file(file)
-
-    def Purge(self):
-        resp = self.stub.Purge(table_pb2.PurgeReq())
-
-    def Upload(self, path):
-        with open(path, "rb") as f:
-            data = f.read()
-            resp = self.stub.Upload(table_pb2.UploadReq(csv_data=data))
-            print(resp.error if resp.error else "success")
-
-    def ColSum(self, format, column_name):
-        resp = self.stub.ColSum(table_pb2.ColSumReq(column=column_name, format=format))
-        print(resp.error if resp.error else f"{resp.total}")
-
-    def exec_command(self, line):
-        command = line.strip().split()
-        if len(command) == 1 and command[0] == "p":
-            self.Purge()
-        elif len(command) == 2 and command[0] == "u":
-            self.Upload(command[1])
-        elif len(command) == 3:
-            self.ColSum("parquet" if command[1] == "p" else "csv", command[2])
-        else:
-            print(f"Skipping invalid command: {line}")
-
-    def read_workload_file(self, file):
-        with open(file, "r") as f:
-            for line in f.readlines():
-                self.exec_command(line)
-
-
-def main():
-    if len(sys.argv) < 2:
-        print("Expecting command: python3 client.py INPUT [NUM_THREADS]; Missing INPUT")
-        sys.exit(1)
-    workload_spec = sys.argv[1]
-
-    num_threads = 1
-    if len(sys.argv) > 2:
-        num_threads = int(sys.argv[2])
-
-    client = TableClient(workload_spec, num_threads)
-
-
-if __name__ == "__main__":
-    main()
diff --git a/p3/csvsum.py b/p3/csvsum.py
new file mode 100644
index 0000000..ca56bba
--- /dev/null
+++ b/p3/csvsum.py
@@ -0,0 +1,24 @@
+import grpc, sys, time
+import table_pb2_grpc, table_pb2
+
+SERVER = "localhost:5440"
+
+def main():
+    if len(sys.argv) != 2:
+        print("Usage: python3 csvsum.py <COLUMN>")
+        sys.exit(1)
+    column = sys.argv[1]
+    channel = grpc.insecure_channel(SERVER)
+    stub = table_pb2_grpc.TableStub(channel)
+    start = time.time()
+    resp = stub.ColSum(table_pb2.ColSumReq(column=column, format="csv"))
+    end = time.time()
+    print(f"{round((end-start)*1000, 1)} ms")
+
+    if resp.error:
+        print(resp.error)
+    else:
+        print(resp.total)
+
+if __name__ == "__main__":
+    main()
diff --git a/p3/docker-compose.yml b/p3/docker-compose.yml
deleted file mode 100644
index 9776dcd..0000000
--- a/p3/docker-compose.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-name: ${PROJECT}
-
-services:
-  server:
-    image: ${PROJECT}-server
-    ports:
-      - "5440:5440"
-    environment:
-      - PROJECT=${PROJECT}
-
-  client:
-    image: ${PROJECT}-client
-    environment:
-      - PROJECT=${PROJECT}
\ No newline at end of file
diff --git a/p3/file2.csv b/p3/file2.csv
deleted file mode 100644
index 70c6161..0000000
--- a/p3/file2.csv
+++ /dev/null
@@ -1,4 +0,0 @@
-x,y
-5,10
-0,20
-10,15
diff --git a/p3/parquetsum.py b/p3/parquetsum.py
new file mode 100644
index 0000000..970ac63
--- /dev/null
+++ b/p3/parquetsum.py
@@ -0,0 +1,24 @@
+import grpc, sys, time
+import table_pb2_grpc, table_pb2
+
+SERVER = "localhost:5440"
+
+def main():
+    if len(sys.argv) != 2:
+        print("Usage: python3 parquetsum.py <COLUMN>")
+        sys.exit(1)
+    column = sys.argv[1]
+    channel = grpc.insecure_channel(SERVER)
+    stub = table_pb2_grpc.TableStub(channel)
+    start = time.time()
+    resp = stub.ColSum(table_pb2.ColSumReq(column=column, format="parquet"))
+    end = time.time()
+    print(f"{round((end-start)*1000, 1)} ms")
+
+    if resp.error:
+        print(resp.error)
+    else:
+        print(resp.total)
+
+if __name__ == "__main__":
+    main()
diff --git a/p3/plot.png b/p3/plot.png
deleted file mode 100644
index 83c9e0f3813a8961a101ee353251cbec0080f853..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 92411
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%0AX|$ioK*!)gs4t5WeG~Xv1@5RHg>eBF5QL
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

diff --git a/p3/purge.txt b/p3/purge.txt
deleted file mode 100644
index 4f6c4ee..0000000
--- a/p3/purge.txt
+++ /dev/null
@@ -1 +0,0 @@
-p
\ No newline at end of file
diff --git a/p3/file1.csv b/p3/simple.csv
similarity index 100%
rename from p3/file1.csv
rename to p3/simple.csv
diff --git a/p3/upload.py b/p3/upload.py
new file mode 100644
index 0000000..169e28a
--- /dev/null
+++ b/p3/upload.py
@@ -0,0 +1,23 @@
+import grpc, sys
+import table_pb2_grpc, table_pb2
+
+SERVER = "localhost:5440"
+
+def main():
+    if len(sys.argv) != 2:
+        print("Usage: python3 upload.py <CSV_PATH>")
+        sys.exit(1)
+    path = sys.argv[1]
+    channel = grpc.insecure_channel(SERVER)
+    stub = table_pb2_grpc.TableStub(channel)
+    with open(path, "rb") as f:
+        data = f.read() # binary "bytes" data
+    resp = stub.Upload(table_pb2.UploadReq(csv_data=data))
+
+    if resp.error:
+        print(resp.error)
+    else:
+        print("success")
+
+if __name__ == "__main__":
+    main()
diff --git a/p3/workload.txt b/p3/workload.txt
deleted file mode 100644
index ce178d4..0000000
--- a/p3/workload.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-u file1.csv
-u file2.csv
-u file1.csv
-s p x
-s p y
-s c z
-- 
GitLab